问题
我的主要目标是在我的 linux 机器上创建一个 wordpress 容器,以便在该容器上进行开发。
因此,我正在为 plugins
和 themes
文件夹创建新卷,甚至添加 read & write
权限,使用 :rw
选项。
但是,当我尝试在这些“卷”中创建新目录或文件时,我收到一条错误消息(尤其是在 VS Code 中),提示我没有添加权限这些卷。
此外,基于ll
命令的权限显示所有者是唯一拥有w
权限的人。这意味着我无法使用组 www-data
并将其添加到我的用户以编辑这些卷。
当我尝试运行 chmod 766 themes plugins
时,卷不再绑定(bind),因此此解决方案不起作用。
我搜索了整个网络(包括堆栈溢出),但没有一个答案对我有用,所以我迷路了:(
这里有一些可以帮助您找到解决方案的详细信息,包括 docker-compose.yml
文件。
详情
尝试添加名为 hello
的目录时 VS Code 出错
A system error occurred (EACCES: permission denied, mkdir '~/Workspace/WordpressProject/themes/hello')
在终端运行mkdir hello
,返回这个错误
mkdir:无法创建目录“hello”:权限被拒绝
ll
卷的命令结果
drwxr-xr-x 2 www-data www-data 4096 Jun 14 23:54 plugins/
drwxr-xr-x 5 www-data www-data 4096 May 17 22:00 themes/
docker-compose.yml
version: '3'
services:
wordpress:
image: wordpress
links:
- mariadb:mysql
environment:
- WORDPRESS_DB_PASSWORD=${Database Name}
ports:
- "127.0.0.101:80:80"
hostname: ${Wordpress Host}
volumes:
- ./plugins:/var/www/html/wp-content/plugins:rw
- ./themes:/var/www/html/wp-content/themes:rw
restart: always
mariadb:
image: mariadb
environment:
- MYSQL_ROOT_PASSWORD=${Password}
- MYSQL_DATABASE=${Database Name}
volumes:
- ./database:/var/lib/mysql
restart: always
版本
- 操作系统: Ubuntu 18.04 LTS
- Docker:v18.05.0-ce,API v1.37
- 编辑器(Visual Studio Code): v1.23.1
最佳答案
请在VS终端执行:
sudo chown -R $USER <directory_project>
关于wordpress - 无法在 docker-compose 中添加对 docker volume 的写入权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50866073/