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.
我正在尝试使用 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.