将配置文件装入容器

时间:2017-05-03 09:18:32

标签: windows docker docker-compose

编辑:我在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.

我做错了什么。

2 个答案:

答案 0 :(得分:7)

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

确保允许您的泊坞窗装载目录C:\Users\[redacted]\Documents\Docker

配置

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

enter image description here

已配置?

就我而言,它已被选中。我取消选中并再次检查驱动器。应用"更改"。它提示我输入我的Windows密码(已经更改),而且挂载再次工作。

答案 1 :(得分:0)

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

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

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