0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Docker official WordPressコンテナを確認してみた

Last updated at Posted at 2022-05-06

前提

数年何となく触っている筆者の個人的感想ですが
結構この数年でドラスティックに構成が変わる場面がありました。
(wp-config.php周りが顕著で
自分の場合は公式のものをダウンロードしてDockerfileやshファイルを
直接編集していたことで影響を受けました。通常の使い方でしたら影響はないのかもしれません)
あくまでも2022年3月時点での記事ということで残しておきます。

ハンズオン

まずはハンズオンで立ち上げてみます。
docker公式
こちらは難なく立ち上がりました。
※M1Macを使っている場合はdbコンテナに以下の一行(platform)を加えると動きます。

services:
   db:
     platform: linux/x86_64
     image: mysql:5.7

WordPressコンテナを確認してみる

mysqlコマンドはあるのか?

WordPressコンテナ内にmysqlコマンドはありません。

% docker exec -it 280daxxxxx bash
root@280da4xxxxx:/var/www/html# mysql --version
bash: mysql: command not found

しかしWordPressは立ち上がり機能しています。
おそらくmysqlコンテナ、wpコンテナ共に独立してセッティングした状態で立ち上がる動きだと思います。
wpコンテナ側からmysqlコマンドを叩いてというのは基本的にはやらない設計のようです。

wp-config.phpはどのようになっているか?

このファイルがデフォルトで設置されていました。
公式WPコンテナのwp-config

mysql

データベース名はdocker-compose.ymlのMYSQL_DATABASEで指定した値で作成されます。
ここの値はデフォルトではWordPressとなっておりますが変更することも可能です。
ただし変更した際はWPコンテナ側でも名前を合わせて作成する必要があり
合っていないと以下のようなエラーがブラウザでアクセスした際に表示されます。

error.sh

Error establishing a database connection

WPコンテナ側で名前を合わせるにはdocker-compose.ymlにWORDPRESS_DB_NAMEを加えて設定します。
具体的な動きとしてはwp-config.php内に設定が加えられる動きとなりどのデータベースを読みに行くのかが変わる動きとなります。

生成される乱数volumeの確認

コンテナを立ち上げた際に自動生成される乱数volumeには
wpルートディレクトリ(wp-admin、wp-content、wp-includes含む同階層以下のファイル)が
格納されていました。
確認方法は以下で試しました。

どうやらwpコンテナで生成されたファイルが格納される仕組みのようですね。
この乱数volumeには名前をつけることもできます。
docker-compose.ymlに以下のようにvolumesセクションを加えます。

     volumes:
       - docker-official-wp-volume:/var/www/html

私の環境では名前をつけた方がわかりやすいので名前をつけて管理しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?