はじめに
Mac local に Wordpress の動作環境を作る必要があったのでどの方法が良いか検討したところ、docker-compose でやるのが一番手っ取り早いと思った。
docker-compose.yml の sample がdocker のドキュメント に載っていたので、ほぼほぼそのまま使わせていただくことにした。
が、起動してみると、テーマのアップロードができなかった。原因を調べたところ、php.ini の設定項目追加が必要だった。次回以降のためにメモ。
作業ログ
docker-compose.yml sample
まずは(ほぼほぼ)サンプルのまま起動してみる
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:5.3.2-php7.2-apache
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
docker-compose up して
$ docker-compose up -d
Creating network "wordpress_default" with the default driver
Creating volume "wordpress_db_data" with default driver
Creating wordpress_db_1 ... done
Creating wordpress_wordpress_1 ... done
ブラウザでアクセス
とりあえずログインまでは問題なし
テーマをアップロードしてみる
The link you followed has expired.
が、エラー
エラーメッセージは以下
- The link you followed has expired.
- 辿ったリンクは期限が切れています。
このエラーは php.ini に以下の設定を入れることで解消できた
設定の入った Docker image を使いたいので build する
Dockerfile ①
FROM wordpress:5.3.2-php7.2-apache
# set recommended PHP.ini settings
RUN { \
echo 'max_execution_time=-1'; \
echo 'memory_limit=-1'; \
echo 'post_max_size=-1'; \
} > /usr/local/etc/php/conf.d/wp-recommended.ini
build
$ docker build -t my_wordpress:1 .
docker-compose.yml を修正して再トライ
$ docker-compose down && docker-compose up -d
どうかな?
残念ながらまたエラー
The uploaded file exceeds the upload_max_filesize directive in php.ini.
エラーメッセージは以下
- The uploaded file exceeds the upload_max_filesize directive in php.ini.
- アップロードしたファイルは php.ini で定義された upload_max_filesize を超過しています。
これはありがちなやつか
upload_max_filesize
を追加
Dockerfile ②
FROM wordpress:5.3.2-php7.2-apache
# set recommended PHP.ini settings
RUN { \
echo 'max_execution_time=-1'; \
echo 'memory_limit=-1'; \
echo 'post_max_size=-1'; \
echo 'upload_max_filesize=100M'; \
} > /usr/local/etc/php/conf.d/wp-recommended.ini
build
$ docker build -t my_wordpress:2 .
今度はどうか
いけた!
おわり