WordPress テーマ開発用に再利用可能な半自動の docker-compose.yml ファイルをセットアップしようとして、 StackOverflow に関する非常に役立つ投稿を見つけ、 vstm が提供する docker-compose.yml を実装しました。
この例は非常にうまく機能し、プラグインの追加、オプションの変更、プリロードされたテーマとプラグインの削除のための wp-cli コマンドを追加するために使用していました。
しかし今、私は許可エラーしか得ていません.wp-cliをuser: '33:33'
元と同様に手動で変更しようとしましたuser:xfs
例からやり直しましたが、最初に遭遇した問題は、開発中のテーマのために 2 つの間で共有される追加のボリュームを追加することです。私のテーマ名はdefault
、ボリューム名が正しいようです。
これが私がこれまでに持っているものです:
version: "2.3"
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- 8000:80
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_TABLE_PREFIX: "wp_"
WORDPRESS_DEBUG: 1
# vstm: add shared volume
volumes:
- wp_data:/var/www/html
- ./default/:/var/www/html/wp-content/themes/default
wordpress-cli:
depends_on:
- db
- wordpress
image: wordpress:cli
# vstm: This is required to run wordpress-cli with the same
# user-id as wordpress. This way there are no permission problems
# when running the cli
user: xfs
# vstm: The sleep 10 is required so that the command is run after
# mysql is initialized. Depending on your machine this might take
# longer or it can go faster.
command: >
/bin/bash -c '
sleep 10;
wp core install --path="/var/www/html" --url="http://localhost:8000" --title="Local Wordpress By Docker" --admin_user=admin --admin_password=secret --admin_email=foo@bar.com;
wp plugin install classic-editor;
'
# vstm: add shared volume
volumes:
- wp_data:/var/www/html
- ./default/:/var/www/html/wp-content/themes/default
volumes:
db_data:
# vstm: add shared volume
wp_data:
kitematic の wp-cli コンソールからの出力ログは次のとおりです。
Warning: Unable to create directory wp-content/uploads/2019/01. Is its parent directory writable by the server?
Success: WordPress installed successfully.
Installing Classic Editor (1.3)
Warning: Failed to create directory '/etc/X11/fs/.wp-cli/cache/': mkdir(): Permission denied.
Downloading installation package from https://downloads.wordpress.org/plugin/classic-editor.1.3.zip...
Unpacking the package...
Warning: Could not create directory.
Error: No plugins installed.
少なくとも 5 つのサイトですべてが完全に機能していましたが、最近 docker に変更があったと思い、それらすべてを更新して壊しました。最新の Docker でこれをどのように修正できるか考えていますか?