无法在 docker-compose 中向 docker 卷添加写入权限
Can't add write permission to docker volume in docker-compose
问题
我的主要目标是在我的 linux 机器上创建一个 wordpress 容器,以便在该容器上进行开发。
因此,我正在为 plugins
和 themes
文件夹创建新卷,甚至使用 :rw
选项添加 read & write
权限。
但是,当我尝试在 "volumes"、 中创建新目录或文件时,我收到一条错误消息(尤其是在 VS Code 中),告诉我我没有没有添加这些卷的权限。
此外,根据ll
命令的权限显示,所有者是唯一拥有w
权限的人。这意味着我无法使用组 www-data
并将其添加到我的用户以编辑这些卷。
当我尝试 运行 chmod 766 themes plugins
时,卷不再绑定,因此此解决方案不起作用。
我搜索了整个网络(包括堆栈溢出),但 none 的答案对我不起作用,所以我迷路了:(
这里有一些可以帮助您找到解决方案的详细信息,包括 docker-compose.yml
文件。
详情
尝试添加名为 hello
的目录时 VS Code 出错
A system error occurred (EACCES: permission denied, mkdir '~/Workspace/WordpressProject/themes/hello')
运行 mkdir hello
在终端,returns 这个错误
mkdir: cannot create directory ‘hello’: Permission denied
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
版本
- OS: Ubuntu 18.04 LTS
- Docker: v18.05.0-ce, API v1.37
- 编辑器(Visual Studio代码): v1.23.1
请在VS终端执行:
sudo chown -R $USER <directory_project>
问题
我的主要目标是在我的 linux 机器上创建一个 wordpress 容器,以便在该容器上进行开发。
因此,我正在为 plugins
和 themes
文件夹创建新卷,甚至使用 :rw
选项添加 read & write
权限。
但是,当我尝试在 "volumes"、 中创建新目录或文件时,我收到一条错误消息(尤其是在 VS Code 中),告诉我我没有没有添加这些卷的权限。
此外,根据ll
命令的权限显示,所有者是唯一拥有w
权限的人。这意味着我无法使用组 www-data
并将其添加到我的用户以编辑这些卷。
当我尝试 运行 chmod 766 themes plugins
时,卷不再绑定,因此此解决方案不起作用。
我搜索了整个网络(包括堆栈溢出),但 none 的答案对我不起作用,所以我迷路了:(
这里有一些可以帮助您找到解决方案的详细信息,包括 docker-compose.yml
文件。
详情
尝试添加名为 hello
的目录时 VS Code 出错
A system error occurred (EACCES: permission denied, mkdir '~/Workspace/WordpressProject/themes/hello')
运行 mkdir hello
在终端,returns 这个错误
mkdir: cannot create directory ‘hello’: Permission denied
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
版本
- OS: Ubuntu 18.04 LTS
- Docker: v18.05.0-ce, API v1.37
- 编辑器(Visual Studio代码): v1.23.1
请在VS终端执行:
sudo chown -R $USER <directory_project>