このページで解説している内容は、以下の 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入門】WordPressコンテナの構築①

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

コンテナの作成と実行

・「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コンテナを作成することで、様々なテーマやプラグインを手軽に試してみることができます。

そうすることで、

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

関連コンテンツ