WordPressを開発や検証で利用する際、Nginx + PHP-FPM + MySQL構成をDocker上で再現すると、本番環境に近い状態で動作確認ができます。
本記事では、Docker Composeを使ってWordPress(6.8.2)をPHP-FPMとNginx(1.29)構成で起動する手順を、解説しています。

環境作成手順
作業ディレクトリの作成
#作業ディレクトリの作成
mkdir wordpress-nginx
cd wordpress-nginx/
mkdir nginx
docker-compose.ymlの作成
#docker-compose.ymlの作成
nano docker-compose.yml
保存して終了(Ctrl + O → Enter → Ctrl + X)
#docker-compose.yml の内容
services:
wordpress:
image: wordpress:6.8.2-php8.3-fpm
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
- ./wordpress:/var/www/html
depends_on:
- db
db:
image: mysql:8.4
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
MYSQL_ROOT_PASSWORD: rootpass
volumes:
- db_data:/var/lib/mysql
nginx:
image: nginx:1.29
restart: always
ports:
- "8080:80"
volumes:
- ./wordpress:/var/www/html:ro
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- wordpress
volumes:
db_data:
nginxディレクトリ内にdefault.confを作成
#default.confの作成
cd nginx/
nano default.conf
保存して終了(Ctrl + O → Enter → Ctrl + X)
#default.conf の内容
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass wordpress:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
#作成したファイルとディレクトリの確認
tree
.
├── docker-compose.yml
└── nginx
└── default.conf
コンテナの起動
#wordpress-nginx/nginxへ移動し、docker composeでコンテナを起動
cd wordpress-nginx
docker compose up -d
ブラウザでWordPressを設定する
#WordPressのインストール画面へアクセス
http://localhost:8080
#WordPressの設定
言語選択画面から日本語を選択する。
その後画面に従い、インストールを実行します。
まとめ
Docker Composeを使えば、WordPress + PHP-FPM + Nginx + MySQL の実運用に近い環境を簡単に構築できます。
サイト移設やテーマ変更の検証がDocker上で安全にできます。

