共享文件夹 Docker

Share folders Docker

我习惯在 vagrant 上开发,但 docker 看起来更快,所以我试了一下。这看起来非常好,但我需要在我的主机和 docker 之间共享文件夹以轻松更新我的代码而无需重新编译 docker.

我尝试添加:

VOLUME /Users/ajouve/dev/test/test:/var/www/test

VOLUME /Users/ajouve/dev/test/test:/var/www/test:rw

在我的 docker 文件中,但文件夹不同步

这是我完整的 dockfile

FROM ubuntu:12.04

MAINTAINER ajouve version: 0.1

RUN apt-get update && apt-get install -y apache2 && apt-get clean && rm -rf /var/lib/apt/lists/*

RUN mkdir /var/www/test
VOLUME /Users/ajouve/dev/test/test:/var/www/test:rw

COPY test.conf /etc/apache2/sites-availables/

RUN ln -s /etc/apache2/sites-availables/test.conf /etc/apache2/sites-enabled/test.conf 

ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2

EXPOSE 80

CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]

这是test.conf

<VirtualHost *:80>
    ServerName test.local

    DocumentRoot /var/www/test
    <Directory /var/www/test>
        # enable the .htaccess rewrites
        AllowOverride All
        Order allow,deny
        Allow from All
    </Directory>

    ErrorLog /var/log/apache2/test-error.log
    CustomLog /var/log/apache2/test-access.log combined
</VirtualHost>

当我试图通过浏览器访问服务器时,我有一个空文件夹

您可以在启动 docker 实例时绑定文件夹

-v /src/dockerShared/:/usr/local/src

看一下 here 示例

您的主机文件夹必须属于容器内文件夹的同一 uid:gid。