有两个容器 A 和 B。一旦容器 A 启动,将执行一个进程,然后容器将停止。容器 B 只是一个 Web 应用程序(比如 expressjs)。是否可以从容器 B 启动 A ?
最佳答案
可以授予容器对 docker 的访问权限,以便它可以在您的主机上生成其他容器。您可以通过暴露容器内的 docker 套接字来做到这一点,例如:
docker run -v /var/run/docker.sock:/var/run/docker.sock --name containerB myimage ...
现在,如果您在容器内有可用的 docker
客户端,您将能够控制主机上的 docker 守护程序并使用它来生成您的“容器 A”。
在尝试此方法之前,您应该了解安全注意事项:访问 docker 与在主机上拥有 root
访问权限相同,这意味着如果您的 Web 应用程序存在远程入侵,您就有只是将您主机的 key 交给了攻击者。对此进行了更全面的描述in this article .
关于docker - 是否可以从另一个容器启动已停止的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39468841/