2016-03-05 92 views
0

我试图设置一个项目使用Docker和Docker撰写在Mac OS上。然而,我尝试装入卷时遇到了一些问题。Docker撰写和卷与Apache

我的Ubuntu:最新图像正常工作,当我复制我的主站点文件夹在我的Dockerfile:

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

虽然这个作品,我需要能够能够反映对我的代码,而无需重建。所以,我认为这将是很容易只用在我的搬运工,compose.yml文件卷(除去第一副本线以上Dockerfile):

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

我的搬运工,compose.yml文件位于/ build文件夹,/ www中的所有项目文件。

构建或运行docker-compose时没有错误消息,但Docker似乎没有找到方法。当我访问我的家庭网址时,唯一出现的是一个空的“Index of /”Apache页面。

我在这里错过了什么?

+0

如果您使用'www'的绝对路径,它会工作吗? –

+0

不,它没有,但你让我在正确的方向思考,所以非常感谢:)显然,它被放置在应用程序文件夹中的文件夹出于某种原因不起作用。在外部移动项目时,它已经工作了,但现在我又在安装的目录中拥有许多权限问题,我需要一些可写的子目录。 – purpleninja

回答

2

根据评论,你看起来像是运行在VirtualBox上的Docker Machine只是将/Users文件夹挂载到VM中,因此Mac上的/Users文件夹之外的任何内容都无法被安装到一个容器中。

这被称为了关于https://docs.docker.com/engine/userguide/containers/dockervolumes/中途下:

如果您使用的是Mac或Windows泊坞窗机,你的码头工人守护 只有你的OS X或Windows文件系统的有限访问。 Docker 机器尝试自动共享您的/ Users(OS X)或C:\ Users(Windows) 目录。

+0

是的,就是这样。现在我只需要能够将docker-compose.yml的挂载目录中的文件夹写入,这似乎也很棘手。我已经尝试过用户模式和chmod无济于事。 – purpleninja