DockerでWordPressのローカル開発環境を構築【超簡単】
こんにちは、アマノケンシです。
当ブログはWordPressを利用していますが、サーバーをレンタルする前から自分のパソコン、つまりローカルでWordPress開発環境を構築しています。
さすがに本番環境にあたるレンタルサーバーでいろいろ試すのは、リスクが高いです。WordPressのローカル開発環境を持っていれば、サーバーレンタル前にWordPressやテーマ・プラグインを試すことができ、レンタル後にはこれらのアップデート検証環境としても利用できます。
私はWordPressのローカル開発環境を構築するにあたり、Dockerを利用したのですが、
控えめにいって、めちゃくちゃ楽でした。
そこで今回は、DockerでWordPressのローカル開発環境を構築する方法を書いていきます。
検証環境
今回、DockerでWordPressのローカル環境を構築するのに利用するパソコンのスペックです。
※Windowsの場合、Docker Desktop for Windowsを利用するには、Windows 10 Proが必須ですが、Windows 10 HomeやWindows 7などの場合でも、Docker Toolboxを利用すれば大丈夫です。このまま読み進めてください。
OS | Windows 10 Pro 64bit |
---|---|
CPU | Intel® Core™ i5-9400F 2.90 GHz × 6コア(物理) |
GPU | GEFORCE GTX 1660 Ti |
メモリ | 16GB (DDR4 – 2666 8GB × 2) |
保存領域 | 512GB SSD + 2TB HDD |
Dockerをインストールする
まずはDockerをインストールしましょう。
Dockerのインストーラーを入手する
まずはDocker Hubにアクセスし、赤枠の「Sign up for Docker Hub」をクリックしてください。
下図のように登録画面に遷移するので、必要事項を記入のうえ、登録してください。
登録時に入力したメールアドレスあてに、Docker Hubからメールが届くので、メール文中の「Confirm Your Email With Docker」をクリック後、登録したDocker IDとパスワードでDocker Hubにログインしてください。
ログイン後、トップ画面の「Get started with Docker Desktop」をクリックします。
Dockerインストーラーダウンロード画面に遷移するので、「Download Docker Desktop for Windows」をクリック。
※Macの方は下の「Docker Desktop for Mac」をクリックしてください。
ダウンロードしたDocker Desktopのインストーラーを実行する
ダウンロードしたDocker Desktopのインストーラーを実行します。
※Docker Desktop for Windowsの要求スペックに満たない場合(Windows 10 Home、Windows 7など)、インストーラー実行時にDocker Toolboxをダウンロードするように促されます。
インストーラー内にDocker Toolboxインストーラーのダウンロードリンクが表示されるので、Docker Toolboxインストーラーをダウンロード後、そちらを実行してください。
基本的な動作や操作方法は変わらないはずです。
インストーラーのConfigurationでは、「デスクトップにショートカットを作成」し、「Linuxコンテナの代わりにWindowsコンテナを利用しない」ようにしています。
インストールが終わったら、再起動を促されるため、そのまま再起動(Okを押下)。
再起動後、タスクバーにDocker Desktopが表示されるようになります。
しばらくするとログイン画面が立ち上がるので、Docker Hubに登録した情報でログインしましょう。ログイン情報はここで入れておけば、起動のたびに毎回入れる必要はありません。
タスクバーのDocker Desktopにマウスカーソルを合わせたとき、「Docker Desktop is running」と表示されればOKです。
ここまででDockerのインストールが終わりました。次はインストールしたDockerで、WordPressのローカル開発環境を構築していきます。
DockerでWordPressローカル開発環境を構築
事前確認
Dockerは画面(GUI)で操作するのではなく、コンソール(CLI)からアクセスします。
ここではWindowsを例にしてご紹介するので、まず「PowerShell(Windows標準のコマンドラインおよびスクリプト言語)」を立ち上げます。
PowerShellで以下のコマンドを実行して、CONTAINER IDやIMAGEなどの情報が表示されているのを確認してください。
# 起動中のコンテナを確認
docker ps
MySQLとWordPressのイメージファイル取得
WordPressを動かすためには、「MySQL」と「WordPress」のイメージが必要なので、Docker Hubから取得します。
以下のコマンドを順番に実行してください。
# MySQLイメージ取得
docker pull mysql:5.7.26
# WordPress
docker pull wordpress
「wordpress」のようにイメージファイル名のみ指定した場合、Docker Hub内の最新バージョンが取得され、「mysql:5.7.26」のように「:」の後ろにバージョンを指定することもできます。
WordPressは最新で構いませんが、MySQLを最新(現在は8)にすると、私の環境ではWordPressが起動しなくなるため、5.7.26での指定をおすすめします。
ログが出力され、こんな画面になるはずです。
念のため、下記のコマンド実行して取得したイメージを確認しておきましょう。
# 取得したイメージを確認
docker images
REPOSITORYとTAGが下図のようになっているか確認してください。
コンテナの作成と起動
イメージの準備ができたので、実際にWordPressを動かします。下記のコマンドを実行してください。
# MySQLのコンテナ作成
docker run --name test-mysql-5726 -e MYSQL_ROOT_PASSWORD=test-mysql -d mysql:5.7.26
# WordPressのコンテナ作成
docker run --name test-wordpress-latest --link test-mysql-5726:mysql -d -p 8080:80 wordpress
「docker run」はコンテナを作成するコマンドです。
–nameでコンテナに任意の名称をつけられます。今回はTAGがわかるように「test-mysql-5726」「test-wordpress-latest」でつけていますが、お好きにつけてください。
なお、ポートは8080:80に設定しています。
コマンド実行後は、「docker ps」コマンドでMySQLとWordPressのコンテナが起動しているか確認しましょう。
下図のようになれば大丈夫です。
※IMAGESが「wordpress」のものと、「mysql:5.7.26」のものがあればOK
WordPressの設定
さきほどまでの手順でWordPressが導入できたので、設定をしていきます。
ポートを8080:80に設定したので、下記のURLにアクセスします。
※リンクにしていないのでコピペしてください。
http://localhost:8080/
下図のようにWordPressの初期設定画面が表示されるので、設定していきましょう。
今回の主題は、DockerでWordPressのローカル開発環境を立ち上げるとことで、WordPressの設定ではないので、WordPressの設定についての解説はここまでにします。お疲れさまでした
コンテナを起動・停止する方法
PCをシャットダウンし、再起動した場合、作成したコンテナを手動で起動する必要があります。下記のコマンドを実行しましょう。
※「docker run」はコンテナを作成するコマンドで、起動するコマンドではないので、注意してください。
# コンテナの起動
docker start test-mysql-5726 test-wordpress-latest
逆に停止する場合には、下記のコマンドを実行します。
# コンテナの停止
docker stop test-mysql-5726 test-wordpress-latest
コンテナ起動時、「wordpress」のコンテナで下記のエラーが出る場合、Docker Desktopを再起動後、再度実行しましょう。
DockerでWordPressの開発環境を簡単に構築できました
Dockerを使ってご覧のとおり、簡単にWordPressのローカル開発環境を構築できました。
WordPressのローカル開発環境をもっていると、サーバーレンタル前にWordPressを試してみたり、サーバーをレンタルしてからは、WordPressのテーマ・プラグインの導入・更新時の検証環境として利用できます。
実際に私はサーバーレンタル前に、Dockerで構築したWordPressのローカル開発環境でセットアップをし、練習した状態で本番移行できました。サーバーをレンタルしている現在は、WordPressのカスタイマイズ前に本番データをすべてコピーし、ローカル開発環境でテストするようにしています。
とても便利なのでみなさんもぜひ使ってみてください!
最後まで読んでくださりありがとうございます。よろしければほかの記事もご覧ください。