このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Docker入門】WordPressコンテナの構築②

「WordPressコンテナの構築①」の続きです。Docker Composeコマンドを使って、WordPressコンテナを構築していきます。
「Wordpressコンテナの構築」は次の2部に分けて解説しています。
作成するコンテナのイメージは下図のとおりです。

不要なDockerオブジェクトの削除
まず、不要なDockerオブジェクトをすべて削除しておきます。
以下のコマンドを実行します。
・「docker system prune -a」コマンドを実行します。
Are you sure you want to continue? [y/N] の質問には「y」と入力します。
PS C:\Users\joeac> docker system prune -a
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all images without at least one container associated to them
- all build cache
Are you sure you want to continue? [y/N] y
Deleted Containers:
7764e25ae74796a010f1c7a213bcf5bfc14b4fb5a166b67327c5bb1f33fdb5e2
Deleted Networks:
joeac_default
Deleted Images:
untagged: nginx:latest
untagged: nginx@sha256:6db391d1c0cfb30588ba0bf72ea999404f2764febf0f1f196acd5867ac7efa7e
deleted: sha256:92b11f67642b62bbb98e7e49169c346b30e20cd3c1c034d31087e46924b9312e
deleted: sha256:d9e826dbb4b3c5770fe92638baa8c6614f210d782a5d021a123fe9fa1f92c23d
deleted: sha256:2a75285e888884bed4d630896c86ecd71739c6e82669e21ad7a050f33c9ac48d
deleted: sha256:32bfe3f040358ab8f9872a63d4ddefdc68f35d991ca10a812cbac5912ae9f97b
deleted: sha256:1330486eb62ea7e96f384961b77b0fc85f5d4422e761114ef3a72e7cb89751a4
deleted: sha256:a375372209a0f2b2c697a52cce46bc41b495bf86184ae83dd5146e20c22078eb
deleted: sha256:450787ca55caa59d0288de9cf36fc6b77d1b208a77eb837ec3d25b385f99cafb
deleted: sha256:a483da8ab3e941547542718cacd3258c6c705a63e94183c837c9bc44eb608999
Total reclaimed space: 186.7MB
「docker system prune -a」コマンドで削除されなかったDockerオブジェクトは、個別に削除しておきます。
compose.yaml の作成
ディレクトリの作成と移動
Docker Composeでコンテナを作成するには、「compose.yaml」ファイルが必要になります。
デフォルトでは、カレントディレクトリにある「compose.yaml」ファイルが読み込まれるため、作業ディレクトリに移動しておきます。
・「cd desktop/docker」コマンドを実行します。
PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker>
「compose.yaml」ファイルを保存する「wordpress1」ディレクトリを作成して、作成したディレクトリに移動します。次のコマンドを実行します。
- 「mkdir wordpress1」コマンド
- 「cd wordpress1」コマンド
PS C:\Users\joeac\Desktop\docker> mkdir wordpress1
Directory: C:\Users\joeac\Desktop\docker
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2024/04/06 14:51 wordpress1
PS C:\Users\joeac\Desktop\docker> cd wordpress1
PS C:\Users\joeac\Desktop\docker\wordpress1>
VSCodeの起動
VSCodeで「compose.yaml」ファイルを作成します。
・「code compose.yaml」コマンドを実行します。
PS C:\Users\joeac\Desktop\docker\wordpress1> code compose.yaml
VSCodeが起動します。

「compose.yaml」ファイルの編集
・「compose.yaml」ファイルを以下のように編集して保存します。
services:
wpdb:
image: mariadb:10.8
environment:
MARIADB_ROOT_PASSWORD: root-pass
MARIADB_DATABASE: database
MARIADB_USER: wp-user
MARIADB_PASSWORD: wp-pass
volumes:
- db-data:/var/lib/mysql
wordpress:
image: wordpress:6.5
depends_on:
- wpdb
environment:
WORDPRESS_DB_HOST: wpdb
WORDPRESS_DB_NAME: database
WORDPRESS_DB_USER: wp-user
WORDPRESS_DB_PASSWORD: wp-pass
ports:
- "80:80"
volumes:
- wp-data:/var/www/html
volumes:
db-data:
wp-data:
上の定義の意味は、以下のコンテンツで解説しています。
コンテナの作成と実行
・「docker compose up -d」コマンドを実行します。
このコマンドは、「compose.yaml」ファイルを配置した場所で実行する必要があります。
PS C:\Users\joeac\Desktop\docker\wordpress1> docker compose up -d
[+] Running 31/31
✔ wpdb 8 layers [⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 9.0s
✔ d1669123f281 Pull complete 1.8s
✔ 7942299fe584 Pull complete 0.7s
✔ ca116927bbe1 Pull complete 1.1s
✔ 9c0f0b5293ed Pull complete 1.9s
✔ ee0988afd61a Pull complete 3.2s
✔ 82d81fccd49d Pull complete 4.0s
✔ 7e361405ea73 Pull complete 2.5s
✔ be365127aa3f Pull complete 3.4s
✔ wordpress 21 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 15.7s
✔ 8a1e25ce7c4f Pull complete 4.4s
✔ 5de14226e170 Pull complete 4.0s
✔ d5aaf617d1d2 Pull complete 6.7s
✔ d3ba065e262f Pull complete 4.7s
✔ 142ecae067f5 Pull complete 5.7s
✔ c1f1b407f749 Pull complete 5.4s
✔ 6a1b2cfb806d Pull complete 6.1s
✔ bc1f0226f3e0 Pull complete 6.8s
✔ 994087df8b58 Pull complete 7.1s
✔ 61717c19c02c Pull complete 7.6s
✔ 11fdc22aa1f1 Pull complete 7.5s
✔ 6fe9d92b0a5a Pull complete 7.8s
✔ 471efce0ff50 Pull complete 8.2s
✔ 6c5dc4209f58 Pull complete 9.0s
✔ 1574a2d49f96 Pull complete 9.2s
✔ 85e3d9381cf8 Pull complete 8.9s
✔ 13dfc4135261 Pull complete 9.6s
✔ 7776dbd0795b Pull complete 9.7s
✔ 565f6e0c08f0 Pull complete 10.3s
✔ ebae3f6276ad Pull complete 12.4s
✔ bee8c49ccae9 Pull complete 10.3s
[+] Running 2/4
- Network wordpress1_default Created 2.1s
- Volume "wordpress1_wp-data" Created 2.1s
✔ Container wordpress1-wpdb-1 Started 1.6s
✔ Container wordpress1-wordpress-1 Started 0.8s
「Container wordpress1-wpdb-1 Started」と「Container wordpress1-wordpress-1 Started」というログが、表示されたら、コンテナが作成されています。
・Docker Desktopでコンテナを確認します。
MariaDBとWordPressの2つのコンテナが作成されて動作しているため、コンテナを示すアイコンが緑色になっています。

コンテナが、緑色になってない場合は、何らかの問題が発生しています。
「compose.yaml」の定義の間違いが疑わしいので、トラブルシューティングを行ってください。
WordPressにアクセスする
・Webブラウザを起動して、URLに「localhost」と入力します。

WordPressの初期セットアップのページが表示されます。
・「日本語」を選択して「次へ」ボタンをクリックします。
日本語で、WordPressの初期セットアップが進んでいきます。

ここでは、WordPressの初期セットアップの完了まで進めて、サイトの構築までを行いませんが、このようにWordPressコンテナを作成することで、様々なテーマやプラグインを手軽に試してみることができます。
そうすることで、
いろいろ試してみて、気に入らなければ、使い捨てするとういうコンテナの最大のメリットが享受できます。