WordPressをDockerで立ち上げる

WordPressを構築する方法はいくつかあるかと思いますが、そのうちの一つとしてDockerで立ち上げる方法を紹介します。

Dockerとdocker-composeがインストールされていることが前提です。

手順

wp_dataフォルダとdb_dataフォルダを空の状態で予め作成しておきます。

以下のdocker-compose.ymlを作成します。

version: '3'

services:
   db:
     image: mysql:5.7
     volumes:
       - ./db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     volumes:
       - ./wp_data:/var/www/html
     ports:
       - "80:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress

準備ができたら以下コマンドを実行します。

$ docker-compose up -d

無事コマンドが実行できたら、「http://(IPアドレス)」にアクセスします。

すると、WordPressの初期設定画面が表示されますので、画面に従って設定を進めていけば設定完了です!

外部に公開するためにはまだまだ設定が必要ですが、とりあえずWordPressで立ててみたい時に便利な手順となります。

余談

dockerの公式ガイドにもdockerでWordPressを立ち上げる手順が紹介されています(リンク)。しかし、この手順だとMySQL側は永続化されるようになっていますが、WordPress側が永続化されるようになっていません。そのため、WordPress側のコンテナを何かしらの事情で再作成した際にをWordPressに行った変更が破棄される可能性があります。

WordPressのコンテンツは基本的にはMySQLに格納されますが、画像やテーマは物理的なファイルとしてWordPressのフォルダに格納される場合があるからです。

動作確認用だけであればいいですが、実際のサイトとして作る際には気を付けましょう。