如何将装载在docker镜像中的卷安装到另一个docker镜像中?

时间:2016-03-02 14:09:18

标签: docker

假设我的系统上有一个文件夹:

/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。

0 个答案:

没有答案