假设我的系统上有一个文件夹:
/foo/bar/project
我可以使用以下方法将其安装到单个泊坞窗图像中:
docker run -v /foo/bar/project:/project
现在它已安装到我的docker镜像中。运行嵌入式docker镜像的最佳做法是使用以下标志:
-v /var/run/docker.sock:/var/run/docker.sock
这会导致docker对两个级别的泊坞窗图像使用相同的守护程序。
现在我想将相同的/foo/bar/project
文件夹挂载到嵌套的docker镜像中。我可以这样做的一种方法是通过检查找到它在我的第一个docker图像中的位置:
{
"Name": "6b0091a538097a400b452997146ff0751079f6b31aa9174171b889aeb2756e59",
"Source": "/mnt/sda1/var/lib/docker/volumes/6b0091a538097a400b452997146ff0751079f6b31aa9174171b889aeb2756e59/_data",
"Destination": "/project",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
这允许我通过添加:
来安装docker“host”项目文件夹-v /mnt/sda1/var/lib/docker/volumes/6b0091a538097a400b452997146ff0751079f6b31aa9174171b889aeb2756e59/_data:/project
我无法找到另一种方法来挂载/ foo / bar / project - > / project - >除此之外。
有更简单的方法吗?每次创建外部容器时,该哈希都会更改,这意味着我必须在运行时确定-v
标志。对于我目前的应用程序来说,这并不是非常复杂,我已经有了一个docker包装器但感觉非常 hacky。