【问题标题】:Error mounting a config file into the container将配置文件挂载到容器中时出错
【发布时间】:2017-05-03 09:18:32
【问题描述】:

编辑:我在 windows 上。

我正在尝试使用 docker-compose。我知道我应该使用 Dockerfile 将文件复制到容器中,但我想通过挂载文件来解决它,因为目前这对我的实验来说更容易。我也想以此作为学习经验,了解这里的问题。

我的docker-compose.yml 看起来像这样:

version: "3"
services:
  webserver:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./webapp.conf:/etc/nginx/conf.d/default.conf
  webapp:
    image: wordpress:php7.1-fpm

在运行docker-compose up 时,我看到以下错误消息:

PS C:\Users\daniel\Documents\Docker> docker-compose up
Removing docker_webserver_1
Recreating ed1b21e6939c_docker_webserver_1
docker_webapp_1 is up-to-date

ERROR: for webserver  Cannot start service webserver: error while creating mount source path '/C/Users/daniel/Documents/Docker/webapp.conf': mkdir /C/Users/daniel/Documents: permission denied
ERROR: Encountered errors while bringing up the project.

我做错了什么。

【问题讨论】:

    标签: windows docker docker-compose


    【解决方案1】:

    (几分钟前我添加了同样的问题。)

    确保你的 docker 被允许挂载目录C:\Users\[redacted]\Documents\Docker

    配置

    在 Windows 客户端中,您可以将 docker 配置为允许在特定驱动器上进行读/写。这应该可以解决您的权限问题。

    已经配置了吗?

    就我而言,它已经被选中。我取消选中并再次检查了驱动器。应用“改变”。它提示我输入我的 Windows 密码(已更改),然后安装再次工作。

    【讨论】:

    • 当您尝试在 Windows 上挂载的文件夹没有正确的权限设置时,您也会收到权限被拒绝错误。就我而言,我必须编辑源文件夹的权限,以便我机器中的用户组可以访问它。
    【解决方案2】:

    要将用户组添加到 Windows 中的目录,请按以下步骤操作:

    1. 右键单击目录
    2. 点击属性
    3. 点击安全标签
    4. 点击“编辑”按钮。
    5. 点击添加按钮
    6. 在文本框中输入“用户”
    7. 点击“检查姓名”(应为您自动填写/更新)
    8. 点击确定
    9. 突出显示您新添加的组。
    10. 在“[用户/组名]的权限”下选择完全控制
    11. 点击应用
    12. 点击“确定”
    13. 点击“确定”

    另请参阅此 Docker 问题:https://github.com/docker/for-win/issues/3385

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-13
      • 1970-01-01
      • 2021-11-21
      相关资源
      最近更新 更多