【问题标题】:Mounting a directory to docker container将目录挂载到 docker 容器
【发布时间】:2016-06-10 06:13:00
【问题描述】:

我正在尝试将主机目录挂载到我的 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 中。为什么不是这样?

【问题讨论】:

  • 我看不出你的配置有什么问题。你能给我们更多的信息吗?您在主机中使用什么操作系统?你在使用码头机器吗?你用的是什么版本的 docker 和 compose?
  • 我已经用详细信息更新了问题。

标签: linux nginx docker docker-compose


【解决方案1】:

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

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

所有其他路径都来自您的虚拟机的文件系统,因此如果您想让其他一些主机文件夹可用于共享,您需要做一些额外的工作。对于 VirtualBox,您需要将主机文件夹设置为 VirtualBox 中的共享文件夹。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 2016-11-10
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    相关资源
    最近更新 更多