【问题标题】:Docker compose - share volume NginxDocker compose - 共享卷 Nginx
【发布时间】: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


    【解决方案1】:

    如果您在 Windows 上使用 Docker Machine,则 docker 对您的 Windows 文件系统的访问权限有限。默认情况下,Docker Machine 会尝试自动共享您的 C:\Users (Windows) 目录。

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

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

    【讨论】:

    • 非常感谢。这就是我所缺少的。但是我发现index.html文件共享还有一件很奇怪的事情。
    【解决方案2】:

    你必须设置一个命令来将你的nginx.conf复制到nginx容器中:

    Dockerfile:

    FROM nginx
    COPY nginx.conf /etc/nginx/nginx.conf`
    

    创建一个名为 nginx 的目录并将 Dockerfilenginx.conf 放在那里,然后你必须设置一个构建:

    docker-compose.yml:

    web:
        image: nginx:latest 
        build :./nginx/
    volumes:
        - /d/Dev/docker/nginx-www/nginx/html/:/usr/share/nginx/html/ 
    ports:
        - "80:80"
    

    然后使用以下命令构建您的容器:sudo docker-compose build

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-03
      • 2021-02-21
      • 2018-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      • 1970-01-01
      相关资源
      最近更新 更多