DockerでWordPress環境をローカルに作成する方法は以下の記事で紹介しました。
しかし、この方法だと、結構操作が思いです。
原因
まず、動作が遅い鯨飲はデータのマウント処理にあります。
volumes:
- ./wp-data:/var/www/html
のように書くとかなりのファイルが同期されることになるので、反映に時間がかかり、かなり動作が遅くなります。
解決策
マウント先を絞る
必要なフォルダのみマウントすることで、動作を高速化できます。
例えば次のようにテーマ部分のみマウントするように変更するなどです
volumes:
- ./wp-data/wp-content/themes/mytheme:/var/www/html/wp-content/themes/mytheme
Cacheを使う
volumes:
- ./wp-data:/var/www/html:cached
:cachedを使うことで、データ反映前に読み込みを行えるようになるので、この方法でも高速化が可能です。
docker-composeの例
以下のようなdocker-composeファイルである程度サクサク編集できます。
version: "3"
services:
db:
image: mariadb:10.4
container_name: "wordpress-db"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
image: wordpress:latest
container_name: "wordpress-wp"
volumes:
- ./wp-data/wp-content/themes:/var/www/html/wp-content/themes
- ./wp-data/wp-content/plugins:/var/www/html/wp-content/plugins
ports:
- "8060:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- "8070:80"
environment:
PMA_HOST: db:3306
MYSQL_ROOT_PASSWORD: wordpress
さらに高速化したい場合
さらに高速化するには、マウントを使わず、コードはgithubで管理するという方法があります。
詳しくは、以下記事で紹介しています。