我正在使用以下命令在容器中运行 docker:
docker run --rm -ti --privileged -v /var/run/docker.sock:/var/run/docker.sock docker:1.12 sh
在该容器的外壳中,我看到一个包含一堆文件的目录。比方说/project
一个文件build.gradle
。我想启动一个新容器并使用下面的命令挂载这个目录
docker run -ti --rm -v /project:/project openjdk:8-jdk bash -c "ls /project"
.
但是看起来项目目录是空的,ls /project
不显示任何文件..
现在尝试挂载文件:
docker run -ti --rm -v /project/build.gradle:/project/build.gradle openjdk:8-jdk bash -c "ls /project/"
这次文件夹显示文件。
任何知道为什么卷安装不能按预期工作的人。这是权限问题吗?
没有。在“docker”容器中,你只得到一个 Docker 客户端,而不是全部。一旦你在你的“docker”容器中挂载了 Docker 套接字,当你执行 Docker 命令时,它们会直接转到在你的实际 Docker 主机上运行的 Docker“服务器”。因此,该文件夹应该存在于您的 Docker 主机中。
示例如何在 docker 中使用 docker 挂载卷: