在 Docker 中运行 Docker:从父 Docker 访问卷

在 Docker 中运行 Docker:从父 Docker 访问卷

OK,我们就可以在Docker中运行Docker了。它有很多问题。请参阅这篇文章。因此,建议使用主机 Docker 来运行子容器,如解决方案中所述。所以它们不是 docker 容器的子容器,而是来自主机。所以它们是父 docker 容器的兄弟姐妹。我做到了,但现在所有路径都没有像最初假设的那样工作。

例如,在第一个 Docker 容器中,我使用一个卷。在第二个 Docker 容器中,我使用第一个卷内的另一个卷。现在,第二个容器不使用相对于第一个容器的路径。由于所有容器都直接在主机上的同一个 Docker 实例上运行,因此它们使用相对于该主机的路径。

  • 主机工作目录是/home/用户/theDockerThing
  • 第一个容器中的体积:.:/var/mydata
  • 在第一个容器中,工作目录是/var/mydata/someproject
  • 第二个容器中的体积:.:/var/www/html

我想要的是来自主机的目录:/home/user/theDockerThing/someproject绑定安装到第二个容器/var/www/html

但在/var/www/html我明白了/var/mydata/someproject哪里什么都没有。

我不想编辑第二个 docker 配置,因为该 docker 也应该直接在另一台主机上运行。

如何告诉第二个 docker 容器使用第一个卷,使其更像真正的 Docker-in-Docker?

答案1

由于所有容器实际上都在同一个 docker 守护进程上运行,因此您无法映射第一级 dind 的卷。您应该将卷映射到主机的路径。

给出第二级的体积不是作为-v /var/mydata/someproject:/var/mydata,而是作为-v /home/user/theDockerThing/someproject:/var/mydata

相关内容