将目录挂载到docker容器

时间:2016-02-26 21:04:45

标签: linux nginx docker docker-compose

我正在尝试将主机目录挂载到我的nginx docker容器中。但是,它并没有达到我的预期。

搬运工-compose.yml:

nginx:
  image: nginx
  volumes:
    - ./app:/root/testfolder

这是容器中目录的内容:

root@846e68e6e8b5:/# ls root/testfolder/
50x.html  index.html

我主持人的目录:

bash-3.2$ ls
app         bower.json      docker-compose.yml  gulpfile.js     node_modules        package.json
bash-3.2$ ls app/
app.js          assets      bower_components        common      index.html      modules
bash-3.2$ 

这是我正在运行的当前版本:

OSX 10.10.5
Docker version 1.10.0, build 590d5108
docker-compose version 1.6.0, build d99cad6
docker-machine version 0.6.0, build e27fb87

我希望主目录./app能够安装在root/testfolder中。为什么不是这样?

1 个答案:

答案 0 :(得分:3)

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

因此文件夹/app必须位于主机中/Users目录下的某个位置。

所有其他路径都来自虚拟机的文件系统,因此如果您想使其他主机文件夹可用于共享,则需要执行其他工作。对于VirtualBox,您需要将主机文件夹作为VirtualBox中的共享文件夹提供。