无法在 docker-compose 中向 docker 卷添加写入权限

Can't add write permission to docker volume in docker-compose

问题

我的主要目标是在我的 linux 机器上创建一个 wordpress 容器,以便在该容器上进行开发。

因此,我正在为 pluginsthemes 文件夹创建新卷,甚至使用 :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

版本

请在VS终端执行:

sudo chown -R $USER <directory_project>