gpt4 book ai didi

windows - Docker compose - 共享卷 Nginx

转载 作者:IT老高 更新时间:2023-10-28 21:22:28 35 4
gpt4 key购买 nike

我只是想测试 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 Forbidden

nginx/1.9.12

我使用 Windows 8.1 作为我的主机。

我做错了什么,或者文件夹不能以这种方式共享?

编辑

解决方案(基于@HemersonVarela 的回答):

我尝试传递的卷位于 D:\Dev\docker 位置,因此我在路径的开头使用了 /d/Dev/docker .但是看着 https://docs.docker.com/engine/userguide/containers/dockervolumes/你可以阅读:

If you are using Docker Machine on Mac or Windows, your Docker daemon has only limited access to your OS X or Windows filesystem. Docker Machine tries to auto-share your /Users (OS X) or C:\Users (Windows) directory.

所以我需要做的是在 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 上使用 Docker Machine,则 docker 对您的 Windows 文件系统的访问权限有限。默认情况下,Docker Machine 会尝试自动共享您的 C:\Users (Windows) 目录。

所以文件夹 .../Dev/docker/nginx-www/nginx/html/ 必须位于主机中 C:\Users 目录下的某个位置。

所有其他路径都来自您的虚拟机的文件系统,因此如果您想让其他一些主机文件夹可用于共享,您需要做一些额外的工作。对于 VirtualBox,您需要将主机文件夹设置为 VirtualBox 中的共享文件夹。

关于windows - Docker compose - 共享卷 Nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35995626/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com