Docker 使用 Apache 组合和卷

Docker compose and volumes with Apache

我正在尝试使用 Docker 和 Docker 在 Mac OS 上编写一个项目。但是,我 运行 在尝试挂载卷时遇到了一些问题。

当我将我的主站点文件夹复制到我的 Docker 文件中时,我的 ubuntu:latest 图片工作正常:

COPY www /var/www/site
COPY apache-config.conf /etc/apache2/sites-available/000-default.conf

虽然这可行,但我需要能够反映对我的代码所做的更改,而无需重新构建。所以我认为在我的 docker-compose.yml 文件中使用卷会很容易(删除 Docker 文件中上面的第一行复制):

web:
    volumes:
        - ../www:/var/www/site

我的 docker-compose.yml 文件位于 /build 文件夹中,所有项目文件位于 /www.

构建或运行宁docker-撰写时没有错误消息,但Docker似乎没有找到它的方式。当我回到家 url 时,唯一出现的是一个空的 "Index of /" Apache 页面。

我在这里错过了什么?

根据评论,您似乎 运行 了解 VirtualBox 上的 Docker Machine 运行 仅安装 /Users 文件夹到 VM 中,因此 Mac 上 /Users 文件夹之外的任何内容都无法安装到容器中。

这是在 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.