Table of Contents
WordPressの開発環境をローカルに構築するにあたり、bitnami-docker-wordpress-nginx
を使って環境構築をしていて、つまづいたのでメモ
WordPressを起動
- bitnami-docker-wordpress-nginxのGithub
- https://github.com/bitnami/bitnami-docker-wordpress-nginx
- まずはWordpressを起動
- README.mdに書いてある通りするだけでDockerでWordpressで問題なく起動するが、phpのファイルを編集すると、キャッシュが効いているせいか、なんどリロードしても反映しない。なんどか続けていると反映するのだが。
なんですぐに反映しないのかキャッシュの問題?
- php-fpmの設定?
- nginxの設定?
- php.ini?
原因はphp.ini
- コンテナ内にある
/opt/bitnami/php/conf/php.ini
を確認
opcache.enable = 1
になっていて、デフォルトは1
みたいで有効です。この設定を変更して再起動するば、編集内容がすぐに反映した。本番では1でいいが開発環境では致命的
修正方法
# コンテナのphp.iniをローカルへコピー「bitnami_wordpress_1」はコンテナ名
$ docker cp bitnami_wordpress_1:/opt/bitnami/php/conf/php.ini .
; 変更がすぐ反映するよう 1 -> 0 へ変更
opcache.enable = 0
# wordpressのvolumesに以下を追加
- './php.ini:/opt/bitnami/php/conf/php.ini'
- コンテナ再起動か作り直しでいける思う。
docker-compose.yml
version: '2'
services:
mariadb:
image: 'docker.io/bitnami/mariadb:10.3-debian-10'
volumes:
- './mariadb_data:/bitnami/mariadb:cached'
environment:
- MARIADB_USER=bn_wordpress
- MARIADB_DATABASE=bitnami_wordpress
- ALLOW_EMPTY_PASSWORD=yes
wordpress:
image: 'docker.io/bitnami/wordpress-nginx:5-debian-10'
ports:
- '80:8080'
- '443:8443'
volumes:
- './wordpress_data:/bitnami/wordpress:cached'
- './wordpress-server-block.conf:/opt/bitnami/nginx/conf/server_blocks/wordpress-server-block.conf:ro'
- './php.ini:/opt/bitnami/php/conf/php.ini'
depends_on:
- mariadb
environment:
- MARIADB_HOST=mariadb
- MARIADB_PORT_NUMBER=3306
- WORDPRESS_DATABASE_USER=bn_wordpress
- WORDPRESS_DATABASE_NAME=bitnami_wordpress
- ALLOW_EMPTY_PASSWORD=yes