簡體   English   中英

無法在 docker-compose 中為 docker 卷添加寫入權限

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

問題

我的主要目標是在我的 linux 機器上創建一個 wordpress 容器,以便在該容器上進行開發。

因此,我正在為pluginsthemes文件夾創建新卷,甚至使用:rw選項添加read & write權限。

但是,當我嘗試在這些“卷”中創建新目錄或文件時,我收到一條錯誤消息(尤其是在 VS Code 中),表明我沒有添加這些卷的權限。

而且,基於ll命令的權限顯示,owner是唯一擁有w權限的人。 這意味着我無法使用www-data組並將其添加到我的用戶以編輯這些卷。

當我嘗試運行chmod 766 themes plugins ,卷不再綁定,因此此解決方案不起作用。

我搜索了整個網絡(包括堆棧溢出),但沒有一個答案對我有用,所以我迷路了:(

以下是一些可以幫助您找到解決方案的詳細信息,包括docker-compose.yml文件。

細節

嘗試添加名為hello的目錄時 VS Code 出錯

A system error occurred (EACCES: permission denied, mkdir '~/Workspace/WordpressProject/themes/hello')

在終端中運行mkdir hello ,返回此錯誤

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

版本

  • 操作系統: 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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM