コラム

DockerでWordPressを動作させる

最近WordPressの案件をやるようになったので、開発用としてWordPressをDockerコンテナ上で動作させてみました。

WordPressのDockerコンテナ作成

ディレクトリ作成

適当なディレクトリを作成し、その中にファイルを作成していきます。

docker-compose.ymlファイル作成

mysqlとwordpressのコンテナの為のdocker-compose.ymlファイルを作成します。

version: '3'

services:
   db:
     image: mysql:5.7
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: password
       MYSQL_DATABASE: wordpress
       MYSQL_USER: admin
       MYSQL_PASSWORD: password

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: admin
       WORDPRESS_DB_PASSWORD: password

コンテナ作成・起動

以下のコマンドで起動します。

 docker-compose up -d

以下のコマンドで起動しているコンテナを確認します。

docker ps

以下の様に、wordpressとmysqlのコンテナが表示されれば成功です。

CONTAINER ID   IMAGE              COMMAND                  CREATED          STATUS          PORTS                    NAMES
3b0e2b1738cf   wordpress:latest   "docker-entrypoint.s…"   37 seconds ago   Up 33 seconds   0.0.0.0:8000->80/tcp     docker-wordpress-wordpress-1
b4b51347103f   mysql:5.7          "docker-entrypoint.s…"   37 seconds ago   Up 35 seconds   3306/tcp, 33060/tcp      docker-wordpress-db-1

WordPress初期化

http://localhost:8000にアクセスしwordpressの初期化を行います。

コンテナ内データの永続化

作成したDockerコンテナを停止すると初期状態に戻ってしまうので、データを永続化して状態を保持しておく方が良いです。
データを保持するのにvolumeというものを利用してホストのディレクトリとDockerコンテナ内のディレクトリをマウントします。

ディレクトリ作成

カレントディレクトリに次のディレクトリを作成します。

  • db_data :WordpressのDBデータ保管用
  • wp_data:WordPressのファイル保管用

volumeの設定

version: '3'

services:
   db:
     image: mysql:5.7
     volumes:
       - ./db_data:/var/lib/mysql ←追加個所
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: password
       MYSQL_DATABASE: wordpress
       MYSQL_USER: admin
       MYSQL_PASSWORD: password

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     volumes:
       - ./wp_data:/var/www/html ←追加個所
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: admin
       WORDPRESS_DB_PASSWORD: password
  • データベース永続化
  • 全wordpressデータ永続化

例では以上2つを永続化してます。永続化データはホストのカレントディレクトリの「db_data」、「wp_data」ディレクトリに保管されます。
「db_data」、「wp_data」内のファイル修正やファイル追加をするとコンテナ内のディレクトリに反映されます。

コンテナへのアクセス

コンテナへアクセスしファイル編集などを行いたい場合は、以下のコマンド実行するとコンテナ内でbashを起動する事が出来ます。

docker exec -it <コンテナID> bash

この記事をシェアする
  • Facebookアイコン
  • Twitterアイコン
  • LINEアイコン

お問い合わせ ITに関するお悩み不安が少しでもありましたら、
ぜひお気軽にお問い合わせください

お客様のお悩みや不安、課題などを丁寧に、そして誠実にお伺いいたします。

お問い合わせはこちら
お電話でのお問い合わせ 03-5820-1777(平日10:00〜18:00)
よくあるご質問