Docker 入門
WordPress サイトを構築する
Docker で WordPress サイトを構築する
Docker を用いると非常に簡単に WordPress サイトを構築することができます.具体的には Docker のクイックスタートページ (https://docs.docker.jp/compose/wordpress.html) に示された docker-compose.yml ファイルを準備し,docker compose up -d コマンドを実行するだけです.ここではパスワードなどの機密情報を docker-compose.yml ファイルから取り除き,MySQL のバージョンを変更したサンプルを示します.
任意の名前のフォルダを作成し,その中に docker-compose.yml と .env を次のとおり作成します.
docker-compose.yml
services:
db:
image: ${MYSQL_IMAGE}
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: ${MYSQL_USER}
WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
volumes:
db_data:
.env ファイルにはパスワードなどの機密情報とともに,MySQL のベースイメージを指定します.このとき,Intel の x86_64 系の Windows であるか,Apple Silicon 搭載の macOS であるかによってイメージを選ぶと良いでしょう.
MYSQL_IMAGE=mysql:9.4
# MYSQL_IMAGE=arm64v8/mysql:9.4
MYSQL_ROOT_PASSWORD=password
MYSQL_DATABASE=wordpress
MYSQL_USER=wordpress
MYSQL_PASSWORD=secret
ファイルの準備ができたらコンテナを起動します.
wordpress % docker compose up -d ⏎
[+] Running 36/36
✔ wordpress Pulled 57.1s
✔ db Pulled 66.9s
[+] Running 4/4
✔ Network wordpress_default Created 0.1s
✔ Volume "wordpress_db_data" Created 0.0s
✔ Container wordpress-db-1 Started 0.5s
✔ Container wordpress-wordpress-1 Sta... 0.3s
wordpress %
コンテナが2個起動していることを確認します.
wordpress % docker container ls ⏎
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
157195ee42f3 wordpress:latest "docker-entrypoint.s…" 32 seconds ago Up 31 seconds 0.0.0.0:8000->80/tcp, [::]:8000->80/tcp wordpress-wordpress-1
8e9c2c3df9dc arm64v8/mysql:9.4 "docker-entrypoint.s…" 32 seconds ago Up 31 seconds 3306/tcp, 33060/tcp wordpress-db-1
wordpress %
Webブラウザで http://localhost/ にアクセスします.初めての接続なので言語の設定画面が表示されます.
「日本語」を選択して「次へ」をクリックします.
必要情報の設定画面に推移しました.
設定を進めます.このとき,パスワードはどこかに控えておくようにしてください.その後「WordPressをインストール」ボタンをクリックします.
インストールが終了しました.「ログイン」リンクからログイン画面へ移動します.
ユーザ名(またはメールアドレス)とパスワードを入力してログインします.
WordPressサイトのデザインができるようになりました.
なお,投稿内容などは MySQL に格納されることに注意してください.MySQL の文字化けなどが気になる場合は,こちらを参考に MySQL を日本語化しても良いでしょう.






