【发布时间】:2016-03-18 22:44:58
【问题描述】:
我只是想测试 Docker,但似乎有些东西不能正常工作。当我有这样的 docker-compose.yml 时:
web:
image: nginx:latest
ports:
- "80:80"
当我在浏览器中运行我的 docker.app 域(示例域指向 docker IP)时,我得到了默认的 nginx 网页。
但是当我尝试做这样的事情时:
web:
image: nginx:latest
volumes:
- /d/Dev/docker/nginx-www/nginx/html/:/usr/share/nginx/html/
ports:
- "80:80"
当我跑步时:
docker-compose up -id
当我在浏览器中运行相同的网址时,我得到:
403 禁止
nginx/1.9.12
我使用 Windows 8.1 作为我的主机。
我是不是做错了什么,或者文件夹不能以这种方式共享?
编辑
解决方案(基于@HemersonVarela 的回答):
我尝试传递的卷位于D:\Dev\docker 位置,因此我在路径的开头使用了/d/Dev/docker。但是看看https://docs.docker.com/engine/userguide/containers/dockervolumes/,你可以阅读:
如果您在 Mac 或 Windows 上使用 Docker Machine,您的 Docker 守护程序只能有限地访问您的 OS X 或 Windows 文件系统。 Docker Machine 尝试自动共享您的 /Users (OS X) 或 C:\Users (Windows) 目录。
所以我需要做的是在C:\users\marcin 目录中创建我的nginx-ww/nginx/html 目录,所以我以:
web:
image: nginx:latest
volumes:
- /c/Users/marcin/docker/nginx-www/nginx/html/:/usr/share/nginx/html/
ports:
- "80:80"
这是正常工作的。文件现在按应有的方式共享
【问题讨论】:
标签: windows nginx docker docker-compose