このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Docker超入門:Docker ComposeでWordPress+MariaDBコンテナを構築する方法②

Docker ComposeでWordPress+MariaDBコンテナを構築する方法②

 この記事では、前回の「その①」に続き、Docker Composeを使ってWordPress+MariaDBの実際のコンテナを構築する手順を解説します。
 「その①」で学んだcompose.yamlの内容をもとに、ここでは実際にコンテナを作成し、WordPressにアクセスできる状態にしていきます。

 構築が完了すれば、ブラウザから「localhost」にアクセスするだけで、WordPressの初期セットアップ画面が表示されます。
それでは、順を追って見ていきましょう。

「Wordpressコンテナの構築」は次の2部に分けて解説しています。

作成するコンテナのイメージは下図のとおりです。

作業前のクリーンアップ

まずは、作業を始める前にDocker環境をクリーンな状態にしておきましょう。
古いコンテナや未使用のイメージが残っていると、思わぬエラーが起こることがあります。

実行コマンド

docker system prune -a --volumes

さらに、ボリュームも削除して完全にリセットする場合は、次のコマンドを使います。

実行結果

PS C:\Users\joeac> docker system prune -a --volumes
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all anonymous volumes 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

コマンドの解説

コマンド説明
docker system prune未使用のDockerオブジェクトを削除する。
-aすべての未使用イメージも含めて削除する。
--volumes未使用のボリュームも同時に削除する。

Docker Desktopを使ってGUIで削除することも可能です。
GUIでは視覚的に確認しながら削除できるため、初心者にはおすすめです。

compose.yaml の作成

次に、Docker Composeで使用するcompose.yamlファイルを作成します。
ここに、WordPressコンテナとMariaDBコンテナの定義を記述します。

ディレクトリの作成と移動

まず、作業用のディレクトリを作成します。

cd desktop/docker
mkdir wordpress1
cd wordpress1

実行結果

PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker> mkdir wordpress1

    Directory: C:\Users\joeac\Desktop\docker

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2025/10/09     1:13                wordpress1

PS C:\Users\joeac\Desktop\docker> cd wordpress1
PS C:\Users\joeac\Desktop\docker\wordpress1>

VSCodeでcompose.yamlを作成

Visual Studio Codeを使ってcompose.yamlを作成します。

code compose.yaml

VSCodeが起動します。

エディタが開いたら、以下の内容を入力して保存します。

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.8
    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:

定義内容の解説

項目内容
wpdbMariaDBのサービス定義。データベースを管理する。
wordpressWordPressのサービス定義。Webサーバーとして動作。
depends_onWordPressがMariaDB起動後に動作するよう依存関係を設定。
volumesMariaDBとWordPressのデータを永続化する。

MariaDBのボリュームは /var/lib/mysql に、
WordPressのボリュームは /var/www/html にマウントされます。

これにより、コンテナを削除してもデータが保持されるようになります。

コンテナの作成と実行

定義ファイルの準備ができたら、実際にコンテナを作成して起動します。
この操作はcompose.yamlがあるディレクトリで実行することが重要です。

実行コマンド

docker compose up -d

コマンドの説明

オプション説明
-dデタッチドモード(バックグラウンド)で起動する

実行結果の例

PS C:\Users\joeac\Desktop\docker\wordpress1> docker compose up -d
[+] Running 34/34
 ✔ wpdb Pulled                                                                   13.4s
 ✔ wordpress Pulled                                                              17.4s
[+] Running 5/5
 ✔ Network wordpress1_default        Created                                      0.1s
 ✔ Volume wordpress1_wp-data         Created                                      0.0s
 ✔ Volume wordpress1_db-data         Created                                      0.0s
 ✔ Container wordpress1-wpdb-1       Started                                      3.6s
 ✔ Container wordpress1-wordpress-1  Starte...                                    0.9s
PS C:\Users\joeac\Desktop\docker\wordpress1>

上記のように
「Container wordpress1-wpdb-1 Started」
「Container wordpress1-wordpress-1 Started」
と表示されれば、WordPressとMariaDBが正常に起動しています。

Docker Desktopで確認

Docker Desktopを開いて確認すると、
「wordpress1」プロジェクト内に2つのコンテナが表示されます。

  • wordpress1-wpdb-1(MariaDB)
  • wordpress1-wordpress-1(WordPress)

「Containers」タブの「wordpress1」プロジェクトをクリックします。

どちらも緑色のアイコンになっていれば正常稼働中です。

もし灰色赤色であれば、設定に誤りがある可能性があります。
その場合は、compose.yamlのインデントや環境変数の値を再確認しましょう。

WordPressにアクセスする

コンテナが起動したら、ブラウザからWordPressにアクセスしてみましょう。

アクセスURL

http://localhost

アクセスすると、WordPressの初期セットアップ画面が表示されます。
最初に言語選択画面が表示されるので、「日本語」を選択し、「次へ」をクリックします。

その後、サイトタイトルやユーザー名、パスワードなどを設定してWordPressをインストールします。


 ここでは、WordPressの初期セットアップの完了まで進めて、サイトの構築までを行いませんが、このようにWordPressコンテナを作成することで、様々なテーマやプラグインを手軽に試してみることができます。

そうすることで、

 いろいろ試してみて、気に入らなければ、使い捨てするとういうコンテナの最大のメリットが享受できます。

WordPress初期セットアップ画面の流れ

手順内容
1言語選択:「日本語」を選択
2サイト情報入力:サイト名、ユーザー名、パスワードを入力
3「WordPressをインストール」ボタンをクリック
4管理者ダッシュボードにログイン可能になる

使い捨てできる開発環境

Dockerコンテナの最大のメリットは、気軽に試して壊せることです。
WordPressテーマやプラグインを試して、気に入らなければ削除して再構築するだけ。
1行のコマンドで新しい環境をすぐに作り直せます。

イラストで理解する:WordPress+MariaDB構成図②

まとめ

  • docker system prune -a --volumes で環境をリセット
  • compose.yaml にWordPressとMariaDBの設定を記述
  • docker compose up -d で2つのコンテナを一括起動
  • http://localhost にアクセスして初期セットアップを実施
  • コンテナを使えば「壊して再構築」が自由自在

Docker Composeを使えば、WordPress+MariaDB環境をわずか数分で再現できます。
この柔軟さこそが、Docker開発環境の最大の魅力です。 🚀