Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

docker-compose for wordpress と php.ini の設定

More than 1 year has passed since last update.

はじめに

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

ブラウザでアクセス

http://localhost:8000/

とりあえずログインまでは問題なし

Screen Shot 2020-02-20 at 14.53.41.png

テーマをアップロードしてみる

Screen Shot 2020-02-20 at 14.55.12.png

The link you followed has expired.

が、エラー

Screen Shot 2020-02-20 at 14.55.21.png

エラーメッセージは以下

  • 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

どうかな?

残念ながらまたエラー

Screen Shot 2020-02-20 at 15.36.40.png

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 .

今度はどうか

いけた!

Screen Shot 2020-02-20 at 15.41.48.png

おわり

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away