WordPressの開発環境をDockerで作成するためのメモ。
ディレクトリ構成
├── docker-compose.yml
└── wordpress
├── Dockerfile
└── customphp.ini
ファイル内容
version: '3'
services:
db:
image: mysql:5.7
container_name: wp_mysqld
volumes:
- ./db:/var/lib/mysql
environment:
MYSQL_RANDOM_ROOT_PASSWORD: '1'
MYSQL_DATABASE: wp_db
MYSQL_USER: wp_dbuser
MYSQL_PASSWORD: wp_password
web:
depends_on:
- db
build: ./wordpress
container_name: wp_template
volumes:
- ./html:/var/www/html
ports:
- "5000:80"
environment:
WORDPRESS_DB_HOST: wp_mysqld:3306
WORDPRESS_DB_NAME: wp_db
WORDPRESS_DB_USER: wp_dbuser
WORDPRESS_DB_PASSWORD: wp_password
WORDPRESS_DEBUG: 1
dns: 8.8.8.8
phpmyadmin:
image: phpmyadmin:latest
container_name: "wp_phpmyadmin"
ports:
- "8000:80"
environment:
PMA_HOSTS: wp_mysqld
PMA_USER: wp_dbuser
PMA_PASSWORD: wp_password
docker-compose.ymlファイルは特に特筆すべき点は無し。たまにDNSルックアップができない状態になることがあるため、GoogleのDNSを指定している。
dns: 8.8.8.8
upload_max_filesize = 1000M
post_max_size = 1002M
変更したいphp.iniのディレクティブだけを記入したファイルを作成。ここでは最大アップロード容量を1GBに設定。
FROM wordpress:latest
ENV TZ Asia/Tokyo
WORKDIR /var/www/html
COPY ./customphp.ini $PHP_INI_DIR/conf.d/
使い方
前提条件として、dockerコマンドとdocker-composeコマンドが使えるようになっているものとする。
docker-compose.ymlの置いてあるディレクトリで下記コマンドを実行
docker-compose up -d --build
ビルドが完了したら「http://localhost:5000/」へアクセスしてWordpressの初期設定を行う。
ホストのhtmlディレクトリ配下にWordpressのソースが入るのでそこから開発できる。
特定のWordpressやPHPのバージョンを使いたい場合はDockerfileの「wordpress:latest」タグを変更する。どんなタグが使えるかはDocker Hubの公式イメージ検索から調べられる。
phpMyAdminは「http://localhost:8000」からアクセス可能。
Comments