質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

4009閲覧

docker-composeでwordpressコンテナのvolumeを永続化するとwordpressが英語版になる理由

atimot

総合スコア8

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

1クリップ

投稿2020/07/19 02:49

docker-composeで簡単にwordpressのテーマ開発環境を構築しようと思い下記のようなdocker-compose.ymlファイルを作成しました。

docker

1version: '3' 2 3services: 4 db: 5 image: mysql:5.7 6 volumes: 7 - db_data:/var/lib/mysql 8 restart: always 9 environment: 10 MYSQL_ROOT_PASSWORD: root 11 MYSQL_DATABASE: wordpress 12 MYSQL_USER: wordpress 13 MYSQL_PASSWORD: wordpress 14 15 wordpress: 16 depends_on: 17 - db 18 image: wordpress:latest 19 volumes: 20 - ./wp-content:/var/www/html/wp-content 21 ports: 22 - "8080:80" 23 restart: always 24 environment: 25 WORDPRESS_DB_HOST: db:3306 26 WORDPRESS_DB_USER: wordpress 27 WORDPRESS_DB_PASSWORD: wordpress 28volumes: 29 db_data:

このようにwordpressコンテナのボリュームを永続化すると、wordpressの初期設定時に言語を選択する画面がスキップされ英語のままサイト設定画面になってしまいます。
しかし、wordpressコンテナのボーリューム部分をコメントアウトして、再構築したところ、言語選択画面が表示され、日本語でwordpress環境を構築することができました。

なぜ、このような現象が起こってしまうか分からず、教えていただきたいです。
よろしくお願いいたします。

Docker version 19.03.12, build 48a66213fe
docker-compose version 1.26.2, build eefe0d31

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

WordPress の公式イメージは最初、
/var/www/html は空になっており、
ENTRYPOINT の処理で
WordPress のコードがドキュメントルートにデプロイされる仕組みになっています
参考: wordpress/docker-entrypoint.sh at master · docker-library/wordpress

yaml

1volumes: 2 - db_data:/var/lib/mysql

上記の bind マウントを行うと、docker-compose up を行うと、
デプロイに失敗します:

console

1$ docker-compose up 2Creating network "test-docker-compose_default" with the default driver 3Creating volume "test-docker-compose_db_data" with default driver 4Creating test-docker-compose_db_1 ... done 5Creating test-docker-compose_wordpress_1 ... done 6Attaching to test-docker-compose_db_1, test-docker-compose_wordpress_1 7db_1 | 2020-07-19 03:33:17+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.29-1debian9 started. 8db_1 | 2020-07-19 03:33:17+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' 9db_1 | 2020-07-19 03:33:17+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.29-1debian9 started. 10db_1 | 2020-07-19 03:33:17+00:00 [Note] [Entrypoint]: Initializing database files 11db_1 | 2020-07-19T03:33:17.556858Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 12db_1 | 2020-07-19T03:33:17.844306Z 0 [Warning] InnoDB: New log files created, LSN=45790 13db_1 | 2020-07-19T03:33:17.925250Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 14wordpress_1 | WordPress not found in /var/www/html - copying now... 15wordpress_1 | WARNING: /var/www/html is not empty! (copying anyhow) 16wordpress_1 | tar: ./wp-content/themes/twentyseventeen: Cannot mkdir: No such file or directory 17db_1 | 2020-07-19T03:33:17.961174Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 9613a600-c970-11ea-853e-0242ac1c0002. 18db_1 | 2020-07-19T03:33:17.973753Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 19wordpress_1 | tar: ./wp-content/themes/twentyseventeen: Cannot mkdir: No such file or directory 20wordpress_1 | tar: ./wp-content/themes/twentyseventeen/screenshot.png: Cannot open: No such file or directory 21wordpress_1 | tar: ./wp-content/themes/twentyseventeen: Cannot mkdir: No such file or directory 22wordpress_1 | tar: ./wp-content/themes/twentyseventeen/page.php: Cannot open: No such file or directory 23wordpress_1 | tar: ./wp-content/themes/twentyseventeen: Cannot mkdir: No such file or directory 24wordpress_1 | tar: ./wp-content/themes/twentyseventeen/footer.php: Cannot open: No such file or directory 25wordpress_1 | tar: ./wp-content/themes/twentyseventeen: Cannot mkdir: No such file or directory 26wordpress_1 | tar: ./wp-content/themes/twentyseventeen/rtl.css: Cannot open: No such file or directory 27wordpress_1 | tar: ./wp-content/themes/twentyseventeen: Cannot mkdir: No such file or directory 28wordpress_1 | tar: ./wp-content/themes/twentyseventeen/search.php: Cannot open: No such file or directory 29db_1 | 2020-07-19T03:33:20.264375Z 0 [Warning] CA certificate ca.pem is self signed. 30db_1 | 2020-07-19T03:33:20.932808Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option. 31wordpress_1 | tar: Exiting with failure status due to previous errors

次のように bind マウントを変更し:

yaml

1 volumes: 2 - ./wp-content:/var/www/html/wp-content

yaml

1 volumes: 2 - ./wordpress:/var/www/html

且つ、ホスト側にディレクトリーを作っていない状態で
docker-compose up すると、言語選択が表示されます

投稿2020/07/19 03:54

y_shinoda

総合スコア3272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

atimot

2020/07/19 12:01

なるほどです。githubなどにソースが公開されているのですね。とても勉強になります。 コードをみて勉強になるのももちろんですが、こういった疑問があったときに何を見れば良いのか、も勉強になりました。ありがとうございます。 また、前回の質問もわざわざ訂正してくださり、ありがとうございました。 今回の疑問についてよく理解することができました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問