Dockerを使って新しいWordPressと、データベース管理ツールであるphpMyAdminを組み合わせた開発環境を構築する手順をご紹介します。
目次
既存WordPressサイトの場合
既存WordPressサイトで同様の開発環境をローカルに作る方法もこちらの記事でご紹介しています。ぜひご覧ください。
作業ディレクトリの構成
最初に、Docker Composeの設定ファイルと、コンテナと同期させるためのディレクトリを作成します。
次の構成で作業ディレクトリを作成します。
% tree
.
├── compose.yaml
├── database
└── wordpress
compose.yamlには、WordPress、MySQL、phpMyAdminなどのサービスに関する設定情報をまとめて記述します。
databaseとwordpressディレクトリは、それぞれコンテナ内の所定の場所と同期され、データをローカルに保存するために利用します。
compose.yamlの内容
全体像
compose.yamlに次の内容を記載して保存します。
services:
wordpress:
image: wordpress
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: dev_user
WORDPRESS_DB_PASSWORD: dev_pass
WORDPRESS_DB_NAME: dev_db
volumes:
- ./wordpress:/var/www/html
db:
image: mysql
environment:
MYSQL_DATABASE: dev_db
MYSQL_USER: dev_user
MYSQL_PASSWORD: dev_pass
MYSQL_ROOT_PASSWORD: dev_root_pass
volumes:
- ./database:/var/lib/mysql
phpmyadmin:
image: phpmyadmin
ports:
- 8083:80
environment:
- PMA_ARBITRARY=1
各コードの詳細
WordPressのサービスを定義します。
services:
wordpress:
image: wordpress
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: dev_user
WORDPRESS_DB_PASSWORD: dev_pass
WORDPRESS_DB_NAME: dev_db
volumes:
- ./wordpress:/var/www/html
・・・(省略)・・・
- image: 最新バージョンのWordPressのDockerイメージを指定しています。
- ports: ローカルのポート
8080とコンテナのポート80を紐づけています。これにより、http://localhost:8080/のURLでWordPressにアクセスできるようになります。 - environment: コンテナの環境変数にデータベースへの接続情報を設定します。この情報でWordPressがデータベースに接続しにいきます。
- volumes: ローカルの
./wordpressディレクトリとコンテナの/var/www/htmlディレクトリを同期しています。ローカルでテーマやファイルを編集した際に、リアルタイムでコンテナへも反映されます。
MySQLのサービスを定義します。
services:
・・・(省略)・・・
db:
image: mysql
environment:
MYSQL_DATABASE: dev_db
MYSQL_USER: dev_user
MYSQL_PASSWORD: dev_pass
MYSQL_ROOT_PASSWORD: dev_root_pass
volumes:
- ./database:/var/lib/mysql
・・・(省略)・・・
- image: 最新バージョンのMySQLのDockerイメージを指定しています。
- environment: データベース名、ユーザー名、パスワードを設定しています。この情報をもとにデータベースが作成されます。WordPressのサービスと情報を揃えておきます。
- volumes: ローカルの
./databaseディレクトリとコンテナ内のデータ保存領域/var/lib/mysqlを同期しています。これにより、コンテナを削除してもデータベースのデータはローカルに残ります。
phpMyAdminのサービスを定義します。
services:
・・・(省略)・・・
phpmyadmin:
image: phpmyadmin
ports:
- 8083:80
environment:
- PMA_ARBITRARY=1
・・・(省略)・・・
- image: 最新バージョンのphpMyAdminのDockerイメージを指定しています。
- ports: ローカルのポート
8083とコンテナのポート80を紐づけています。http://localhost:8083/のURLでphpMyAdminにアクセスできるようになります。 - environment: コンテナに環境変数を設定しています。
PMA_ARBITRARY=1とすると、phpMyAdminにアクセスしたときに接続先データベースを選択するようになります。
環境を起動する
compose.yamlを保存したら、ターミナルでこのファイルのあるディレクトリに移動し、次のコマンドを実行します。
docker compose up --build
動作確認
コンテナが起動したら、以下のURLにアクセスしてWordPressとphpMyAdminが利用できることを確認します。
- WordPress: http://localhost:8080/
- phpMyAdmin: http://localhost:8083/
WordPressにアクセスすると、新規インストール画面が表示されます。

phpMyAdminにアクセスするとこちらもログイン情報が表示されます。接続先データベースの情報を入力してログインします。

phpMyAdminにログインすると、compose.yamlに記載したデータベースを見ることができます。

WordPressをインストールすると、各種テーブルも反映されます。

まとめ
Dockerで新しいWordPressとphpMyAdminを組み合わせた開発環境の構築方法をご紹介しました。
ローカル環境に影響を与えずに開発や検証が行えるDocker環境は、新しくホームページを作るときや既存サイトを修正するときのデモ環境として非常に有用です。ぜひご活用ください。
カナメグローバルホールディングスでは、お客様の課題を解決するホームページの制作から、安定した運用のための保守の支援を行っています。
ホームページに関するお悩みや、このような開発環境の構築支援についてご要望がありましたら、お気軽にお問い合わせ窓口よりご相談ください。




