DockerでWordPress開発環境を構築する
もう2年ほど前になりますが、Dockerを学ぶ機会があり、
それからWordPressのローカル環境はDockerを使用していたのですが、
しばらくWEB製作をしていなかったこともあり、使い方を忘れてしまっていました。。
この度、WordPressを1から学習し直す事を決めましたので、
あらためてDockerの使い方を復習しますので、記録しておきたいと思います!
書いておかないと忘れるので・・・ということで行ってみましょう!
Contents
Dockerって何?
そもそもDockerとは、「コンテナ」という仮想環境を作成、配布、実行するプラットフォームです。
具体的にどんなことができるかというと、自分のローカル環境に「コンテナ」を作成することによって、様々な開発環境を動作させることができます。
ローカル環境に仮想マシンを作成する機能としてはVirtualBoxが有名ですが、従来の仮想マシンと違うのは、HyperviserやゲストOSはホストマシンのそれを利用するため、とても動作が軽いのが特徴です。
Dockerをインストールする
まずはDockerの公式サイトへアクセス。
https://www.docker.com/

自分の環境にあった版をダウンロード。(今回はMac)



その後、.dmgが開いた後、画面に従いApplicationsフォルダへ移動し、インストール完了です!




↑「アプリケーションフォルダ」にDockerがインストールされています!
Dockerの初期設定をする
次にDockerの初期設定を実施していきます。
ですが、難しいことはなくDockerに表示されるガイドに従ってポチポチと進めていきます。









↑最後にチュートリアルWEBサイトに誘導されます。初めての方は確認しても良いかと思います。(今回は飛ばします)
Dockerをさわってみる
Dockerが動作しているか確認する
まずはDockerが動作しているかを確認します。
MACのファインダーから「アプリケーション→ユーティリティ→ターミナル」を起動します。


そしてコマンド入力。
docker container ls -a

するとコンテナが2つ起動しているのがわかります。
とりあえずDockerは起動しているようなので、WordPressを構築していきましょう!
覚えておきたいDockerコマンド
ここでdockerに慣れておくため基本的なコマンドを記載しておきます。
docker container ls -a
現在存在するコンテナを確認するコマンドです。
-aはオプションで、これをつけることによりUPしていない(動作していない)コンテナも表示できます。
docker exec -it [コンテナ名] /bin/bash
コンテナにログインします。
[control]+p+q
コンテナからログアウトします。
docker start [コンテナ名]
コンテナを起動します。
docker stop [コンテナ名]
コンテナを停止します。
docker rm [コンテナ名]
コンテナを削除します。
docker start $(docker ps -a -1)
全てのdockerコンテナを起動します。
docker stop $(docker ps -q)
起動している全てのコンテナを停止します。
docker rm $(docker ps -q -a)
全コンテナを削除します。
docker rmi $(docker images -1)
全イメージを削除します。
DockerでWordpress開発環境を構築する
ディレクトリ同期について事前に知っておく
これから仮想環境であるコンテナにWordPress環境を構築していきますが、ディレクトリ同期について知っておくと環境構築後の開発がスムーズになります。
Dockerコンテナ内に外部記憶ボリュームとしてローカルのディレクトリを組み込む、ということです。
これを実施すると、ローカルで開発したファイルをコンテナにアップロードすることがなく、シームレスな開発が可能になります!
Docker起動コマンドに次のオプションをつけることで実装可能です。
-v $(pwd):/var/www/html
今回はホームディレクトリの直下に「Docker」というディレクトリを作成し、その中に「wordpress_dev」を作成し、Dockerに組み込んでいきます。

WordPressとMySQLのイメージをビルドする
WordPressの構築は、まずはじめにイメージのビルドをして、次にそのイメージを使ってコンテナを起動します。
では、イメージをビルドするコマンド。
docker pull mysql

イメージのビルドが完了すると下記のような表示になります。

確認コマンドを入力します。
docker images

MySQLがしっかりビルドされていることが確認できます!
続いてWordPressのイメージをビルドしていきます。
docker pull wordpress

イメージのビルドが完了すると下記のような表示になります。

確認コマンドを入力します。
docker images

MySQLがしっかりビルドされていることが確認できます!
MySQLとWordPressのコンテナを起動する
MySQLコンテナを起動する
いよいよコンテナを起動しWordPress環境を構築します。
まずはMySQLを起動します。
docker run —name wordpress_dev-mysql -e MYSQL_ROOT_PASSWORD=[任意のパスワード] -d mysql

少し待つとコマンドラインに戻るので、確認コマンドを入力します。
docker container ls -a

しっかりとMySQLが起動しているのが確認できました!
WordPressコンテナを起動する
そして、WordPressのコンテナを起動。
docker run —name wordpress_dev —link wordpress_dev-mysql -d -p 8080:80 -v $(pwd):/var/www/html wordpress
確認コマンドを入力。

WordPressコンテナが起動しています!
そして、ローカルフォルダを確認すると、、、しっかりとWordPressを構成するファイル群が作成されました!

最後にブラウザから確認。http://localhost:8080へアクセスします。





このようにおなじみWordPressの画面がしっかりと表示されました!
これで任意のID/パスワードを設定して開発を開始可能です。
以上、最後までお読み頂きありがとうございました!