web-dev-qa-db-ja.com

Wordpress wp-config.phpはDockerで更新されませんか?

Wordpressとdockerコンテナを使用しています。問題は、wp-config.phpファイルを更新したのに、すべてが同じように見えることです。次のようなものがあります。

CONTAINER ID        IMAGE                   NAMES
b2711d4b72a1        phpmyadmin/phpmyadmin   website_phpmyadmin_1
8a89ee46d673        wordpress:4.7.5         website_wordpress_1
2a167667f705        mysql:5.7               website_db_1

私のdocker-compose.yamlは次のようになります:

version: '2'
services:
wordpress:
depends_on:
  - db
image: wordpress:4.7.5
restart: always
volumes:
  - ./wp-content:/var/www/html/wp-content 
environment:
  WORDPRESS_DB_Host: db:3306
  WORDPRESS_DB_PASSWORD: p4ssw0rd!
ports:
  - 80:80
  - 443:443
networks:
  - back
  db:
    image: mysql:5.7
    restart: always
    volumes:
       - db_data:/var/lib/mysql
    environment:
  MYSQL_ROOT_PASSWORD: p4ssw0rd!
networks:
  - back
  phpmyadmin:
    depends_on:
       - db
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - 8080:80
    environment:
      PMA_Host: db
      MYSQL_ROOT_PASSWORD: p4ssw0rd!
        networks:
      - back
     networks:
       back:
      volumes:
  db_data:

Docker-compose up、build、downを実行しましたが、すべて同じです。

7
jfk83

公式のWordPress docker imageは、設定した環境変数を使用してwp-config.phpを自動的に構成します[ documentation ]。

WORDPRESS_DB_HostWORDPRESS_DB_PASSWORDなどの変数がある場合、それらはコンテナの作成時にwp-config.phpファイルを作成するために使用されます。

カスタムwp-config.phpファイルを提供する場合は、関連する環境変数がないことを確認し、次のように変更したファイルのボリュームマッピングを作成する必要があります。

version: '2'
...
volumes:
  - ./wp-content:/var/www/html/wp-content 
  - ./wp-config.php:/var/www/html/wp-config.php
...

docker-compose upで、Dockerはカスタムwp-config.phpをコンテナーにロードし、WordPress image's docker-entrypoint.sh を実行して環境変数に設定された値を含むファイル。

10
Taylor Hx

WORDPRESS_CONFIG_EXTRA環境変数を使用して、wp-config.phpファイル内の他の構成値を定義できます。

例として:

WORDPRESS_CONFIG_EXTRA: |
  define('WP_ALLOW_MULTISITE', true );
  define('MULTISITE', true);
  define('SUBDOMAIN_INSTALL', false);
2
jpunk11

トリック:

wp:
  image: wordpress:latest
  ports:
    - 80:80
  volumes:
    - ./wp-content:/var/www/html/wp-content
    - ./wp-config.php:/usr/src/wordpress/wp-config-sample.php

ローカルのwp-config.phpが変更された場合、コンテナから/var/www/html/wp-config.phpを削除する必要があります。dockerはそれを再度コピーします...しかし、それは機能します!

0
Arthur Araújo