【发布时间】:2021-12-14 00:32:12
【问题描述】:
我在帖子末尾有 docker-compose 文件
在这个文件中,我创建了一个卷来链接自定义主题文件夹。
当我尝试在 CONTAINER - CLI 中运行 wp-cli 命令时,我遇到了权限问题,因为文件夹 wp-content 归根用户所有,并且容器运行为用户 xfs。
在 CONTAINER - WORDPRESS 中我们可以看到 wp-content 文件夹也归 root 所有。
但是当我取消链接我的自定义主题文件夹时,此问题不再发生。
可以在 CONTAINER - CLI 中看到 wp-content 文件夹的所有者是 xfs,因为它是正确的,以及在 WORDPRESS - CONTAINER wp-content 文件夹也应该属于用户 www-data。
这是我的 docker-compose.yml
version: "3.9"
services:
wordpress:
image: wordpress:5.2.1-php7.3
environment:
WORDPRESS_DB_HOST: database:3306
WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
WORDPRESS_DB_USER: ${MYSQL_USER}
WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
WORDPRESS_TABLE_PREFIX: ${WORDPRESS_TABLE_PREFIX}
WORDPRESS_DEBUG: ${WORDPRESS_DEBUG:-false}
env_file: .env
restart: always
volumes:
- ./wp:/var/www/html # Full wordpress project
- ./theme:/var/www/html/wp-content/themes/custom-theme # Theme development
ports:
- ${WORDPRESS_PORT}:80
depends_on:
- database
cli:
image: wordpress:cli-2.3.0
env_file: .env
user: xfs
depends_on:
- database
- wordpress
volumes:
- ./wp:/var/www/html
database:
image: mariadb:10.5.9
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
restart: always
volumes:
- db_data:/var/lib/mysql
healthcheck:
test: mysqladmin ping -h 127.0.0.1 -u root --password=${MYSQL_PASSWORD}
interval: 5s
retries: 5
manage:
image: phpmyadmin:5
environment:
PMA_HOST: database
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
ports:
- ${MANAGE_PORT}:80
restart: always
depends_on:
database:
condition: service_healthy
volumes:
db_data:
wp_data:
【问题讨论】:
标签: wordpress docker docker-compose