仮想PC

最近では、Webサーバーなどで公開しているアプリケーションでプラグインのバージョンアップなどで不具合が起こることもあり、ローカル環境で十分テストしてから実行することが望まれます。
こういう場合、各種のOSで仮想環境として動作実績のあるDockerが有効です。

人口知能の画像認識プログラムを入手して遊んでいた時、”Docker Toolbox on Windows”が必要でインストールしていたのですが、最近その画像認識プログラムがうまく働かなくなり、いろいろ調べていたら、
・Docker Toolbox on Windowsは、最近供給されなくなった。
・PCのハード条件によっては、Windows10 Homeでも、Dockerが動作する。
という事で、Dockerをインストール(インストール方法は後述)したところ、前述の画像認識プログラムが、無事動作しました。

Dockerでは、Wordpressも比較的簡単に導入・動作するようであり、レンタルサーバー(お名前.com SD 11)上で動作・公開しているホームページの内容更新を考えていたので、早速取り組んでみました。

Docker利用のメリット・デメリットなどは、
 簡単便利!DockerでWordPressの開発環境を作ろう。方法&メリット紹介
 https://goworkship.com/magazine/wordpress-docker/

Docker-Wordpress

導入については、数多くの記事がありましたが、下記の物が分かりやすく、利用しました。

① Docker Desktop(Docker for Windows)のインストール
 参考記事:
  Windows HomeにDocker Desktop をインストール
  https://docs.docker.jp/docker-for-windows/install-windows-home.html

 Docker Hubから、Docker Desktop Installer.exe を入手し実行すれば簡単にインストールできます。

② Docker-Wordpressの入手と実行
 参考記事:
  カゴヤのサーバー研究室 DockerでWordPressテスト環境を構築
  https://www.kagoya.jp/howto/wordpress/wordpress-docker/

 1.Dockerを起動

 2.上記参考記事の”個別にインストールする方法”の項通り実行…コマンドプロンプトから実行
     docker pull mysql:5.7.25
     docker pull wordpress
     docker run -–name mysql5.7.25 -e MYSQL_ROOT_PASSWORD=xxxxxxxx -d mysql:5.7.25
     docker run –-name wordpress –link mysql5.7.25:mysql -d -p 8080:80 wordpress

 *記事の通りではコマンドが正しく動作せず、docker –helpなどで調べた。
   nameでの指定は、-name string でなく、–name string

 3.ブラウザで、http://localhost:8080にアクセス。
  Wordpressのlogin画面が表示された。

Docker-Wordpressの再構築1

DockerでWordpressが動作するようになり、公開しているホームページの再編集案の検討・検証が開始できるようになった。
ところが数日後、検証用Wordpressにアクセスできなくなってしまった。
WordPressのログイン画面にアクセスできないばかりでなく、作成した検証用サイトの画面にもアクセスできず。
WordPressの再インストール画面(?)では、”インストール済み。データベース削除後再インストール”の表示。
状況が全く理解できない。原因も不明。
(Wordpress実行時、固定ページのパーマネントを変更しようとしてうまくいかず、同じような内容の固定ページをもう一つ作って、サイトの表示メニューからはその新しい頁が表示できず、ブラウザのアクセス先を変えて表示させ……いずれにしてもWordpressの扱いがまずかったようで、Wordpress用のデータベースデータを壊してしまったような気がする)

思い切って、WordpressとMySQLのコンテナを再度作成するところから再スタートさせようとしたが、これが地獄だった。
数日間、思い悩んだ。
今思い返して、整理してみると、

① 2つのコンテナの作成が全くうまくいかなかった。
 Wordpressの操作に不慣れだった、内容が理解できてなかったこともあるが、
 ・コマンドプロンプトからのコマンドでコンテナができない。それも2つの内一方だけ。
  (最初にうまくいった時と動作が違う……?)
 ・Docker-DesktopのGUI画面で、イメージからコンテナを作成する方法が解らなかった。
② コンテナをやっと作成し、runさせたが、
 ・ブラウザでアクセス不可
 ・データベースの設定を入力する画面につながったが、パスワード等入力しても、まちがった設定だとの返事

➂ data-compose.ymlを作成して起動する方法を試みる。
 ②と同じくデータベース設定画面から先へ進めず。
参考記事:
カゴヤのサーバー研究室 DockerでWordPressテスト環境を構築
https://www.kagoya.jp/howto/wordpress/wordpress-docker/
④ Docker Desktopでイメージからコンテナを作成する際、オプション指定ができる。
 portの設定とdata-compose.ymlの保存先ディレクトリを設定した。
 ②と同じくデータベース設定画面から先へ進めず。
⑤ 作成したコンテナの中味などを調査し、docker run の際に、linkでなくnetを使った。
 データベースに接続できないというエラー。(Error establishing a database conekution)
 参考記事:
  Qiitaの記事 @cnloniさんの記事 ”DockerでWordPress環境を用意するのが簡単じゃなかった話” データベースに接続できないというエラー。(Error establishing a database conekution)

というわけで、すっかりお手上げです。

Docker-Wordpressの再構築2

諦めて1,2日放っていたのですが、今一度試みようと下記の記事を参考に実行してみました。
  参考記事:
  Qiitaの記事 @tomokei5634さんの記事 ”初心者|Docker-ComposeでWordPressとMySQLとphpMyAdminのローカル環境の構築”

見事成功です。Docker-Wordpressが動き始めました。
docker-compose.ymlを使う方法なので、ここ数日の経過の中でも成功したはずです。
なぜ今回うまくいったのかわかりませんが、
yml fileの中の指定項目、半角スペースのインデントが重要だとの指摘も記事内にあり、その辺の影響かとも思います。
が、いずれにしても良かった!Dockerについても少し勉強させてもらいました。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする