将目录挂载到 docker 容器
Mounting a directory to docker container
我正在尝试将主机目录挂载到我的 nginx docker 容器。然而,它并没有像我期望的那样安装。
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
中。为什么不是这样?
如果您在 Mac 或 Windows 上使用 Docker Machine,docker 对您的 OS X 或Windows 文件系统。默认情况下 Docker Machine 尝试自动共享您的 /Users
(OS X) 或 C:\Users
(Windows) 目录。
因此文件夹 /app
必须位于主机中 /Users
目录下的某处。
所有其他路径都来自您虚拟机的文件系统,因此如果您想让一些其他主机文件夹可用于共享,您需要做额外的工作。对于 VirtualBox,您需要使主机文件夹在 VirtualBox 中作为共享文件夹可用。
我正在尝试将主机目录挂载到我的 nginx docker 容器。然而,它并没有像我期望的那样安装。
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
中。为什么不是这样?
如果您在 Mac 或 Windows 上使用 Docker Machine,docker 对您的 OS X 或Windows 文件系统。默认情况下 Docker Machine 尝试自动共享您的 /Users
(OS X) 或 C:\Users
(Windows) 目录。
因此文件夹 /app
必须位于主机中 /Users
目录下的某处。
所有其他路径都来自您虚拟机的文件系统,因此如果您想让一些其他主机文件夹可用于共享,您需要做额外的工作。对于 VirtualBox,您需要使主机文件夹在 VirtualBox 中作为共享文件夹可用。