[英]How to modify files in wordpress docker volume?
这是我的 wordpress 的 docker docker-composer.yml
:
version: '3.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
volumes:
- ./all:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
ports:
- "8084:80"
links:
- db:db
volumes:
db_data: {}
该文件夹all
包含从 wordpress docker 映像发送的所有文件。 但是,他们都有用户/组www-data:www-data
并且文件的权限是 644 和来自文件夹 755,即即使我将自己添加到www-data
组,我也无权修改或创建文件。
我的研究:
我在写入共享卷 docker 时发现有人遇到了相反的问题,他创建了文件,而他的 docker 映像无法访问它。 解决方案似乎是运行 docker 并使用用户www-data
创建一个文件 - 但我不知道如何将其应用于我的问题。
我试图在 docker docker-composer.yml
的 worpdress 服务中添加user: "1000:1000
,希望 docker 设置的所有文件权限都来自我的用户。但是,我得到了 1000 行这种形式的错误:
wordpress_1 | tar: ./wp-admin: 不能 mkdir: 权限被拒绝 wordpress_1 | tar:./wp-admin/options-reading.php:无法打开:没有这样的文件或目录
我最终只是将所有文件和文件夹的文件权限从文件夹all
更改为 777 递归。 由于这只是本地开发,因此不涉及任何风险。
当我从我的主机创建一个新文件时,它只有 644 权限,即它可以从 localhost 读取但不能编辑,因为我需要手动将权限更改为 777。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.