環境はMacとDocker for Macです。
この記事のやり方全くだめなので Docker Compose で WordPress のテーマ開発環境を構築 を書きました。
DockerのWordPressイメージ使用コマンドを実行します
hub.dockerのWordPressページ( https://hub.docker.com/_/wordpress/ ) を参考にコマンドを実行してみました。
docker run --name some-wordpress --link some-mysql:mysql -d wordpress
Unable to find image 'wordpress:latest' locally
latest: Pulling from library/wordpress
386a066cd84a: Already exists
269e95c6053a: Pull complete
・・・ 略
Digest: sha256:4eefa1b7fdce1b6e6953ca18b6f49a68c541e9e07808e255c3b8cc094ff085da
Status: Downloaded newer image for wordpress:latest
docker: Error response from daemon: Could not get container for some-mysql.
See 'docker run --help'.
wordpressがローカルになかったのでダウンロードが始まりましたが、エラーがでました。
ローカルにsome-mysqlというコンテナが無いとでています。MySQLのイメージが必要なのでしょう。
MySQLのDockerコンテナを作成
DockerのWordPress用コンテナを作成します。
docker run --name wordpress-mysql -e MYSQL_ROOT_PASSWORD=password -e MYSQL_USER=pugiemonn -e MYSQL_PASSWORD=password -e MYSQL_DATABASE=wordpressdb -d mysql
wordpress-mysqlというコンテナを作りました。docker ps
を実行するとwordpress-mysql
が起動していることを確認できます。
再度WordPressイメージ使用コマンドを実行
wordpressのコンテナを立ち上げてみます。
docker run --name pugiemonn-wordpress -p 8080:80 --link wordpress-mysql:mysql -d wordpress
ef203f6191fae131e4c2f61d7db60834435ebf23273c84497673ce742f165330
今度は立ち上がりました。docker ps
で確認します。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4d6245668af1 wordpress "docker-entrypoint.sh" 3 days ago Up 2 seconds 0.0.0.0:8080->80/tcp pugiemonn-wordpress
01739c7a1991 mysql "docker-entrypoint.sh" 3 days ago Up 19 minutes 3306/tcp wordpress-mysql
wordpressとmysqlイメージからコンテナを立ち上げることができました。
ブラウザから確認
http://localhost:8080/
にアクセスします。
WordPressのインストール画面が表示されました。やったね(☝ ՞ਊ ՞)
おまけ
コンテナの停止
WordPress用に立ち上げたコンテナを停止する場合はstopでコンテナを停止します。
docker stop pugiemonn-wordpress wordpress-mysql
コンテナの開始
コンテナを作成しているので、立ち上げるだけで開発環境を立ち上げることができます。
docker start wordpress-mysql pugiemonn-wordpress
wordpress-mysql
pugiemonn-wordpress
http://localhost:8080/
にアクセスするとWordPressの画面を確認できます。
よかった(☝ ՞ਊ ՞)
ローカルのファイルをDockerコンテナと同期したい
良かったと思ったのですが、まだ開発環境には不十分でした。
ホストマシーンはMacなのでMacのファイルがDockerコンテナと共有されていないと使えません。
WordPress開発なので無難にWordPressのテーマ開発としましょう。
mkdir pugiemonn_theme
cd pugiemonn_theme
pugiemonn_theme
という作業ディレクトリを作成しました。
docker-compose.ymlを作成
docker-compose.ymlを用意します。
wordpressイメージを元にして、新しくイメージを作成します。
この記事は公開してしまいましたが、チャント動く Docker Compose で WordPress のテーマ開発環境を構築 を書きました。