Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将docker映像中装入的卷装入另一个docker映像?_Docker - Fatal编程技术网

如何将docker映像中装入的卷装入另一个docker映像?

如何将docker映像中装入的卷装入另一个docker映像?,docker,Docker,假设我的系统上有一个文件夹: /foo/bar/project 我可以使用以下方法将其装入单个docker映像: docker run -v /foo/bar/project:/project 现在它被安装到我的docker图像中。运行嵌入式docker映像的最佳实践是使用以下标志: -v /var/run/docker.sock:/var/run/docker.sock 这导致docker对两个级别的docker映像使用相同的守护程序 现在我想将相同的/foo/bar/project文

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

/foo/bar/project
我可以使用以下方法将其装入单个docker映像:

docker run -v /foo/bar/project:/project 
现在它被安装到我的docker图像中。运行嵌入式docker映像的最佳实践是使用以下标志:

-v /var/run/docker.sock:/var/run/docker.sock
这导致docker对两个级别的docker映像使用相同的守护程序

现在我想将相同的
/foo/bar/project
文件夹装载到嵌套的docker映像中。我可以这样做的一种方法是通过inspect找到它安装到我的第一个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包装,但感觉非常粗糙。

请澄清你说的“嵌套docker映像”是什么意思,你是在docker容器中运行docker容器吗?@rm rf是的,这就是我的意思