2016-05-31 38 views
0

我有一个码头工人容器中运行的应用程序的Node.js。是否可以使用泊坞撰写一个正在运行的泊坞容器内推出新的码头工人集装箱?

我需要从我的Node.js应用推出一个新的容器(通过代码,例如child_process.spawn())与运行Python脚本的唯一目的。我还需要将一个参数(数据库记录标识)传递给此Python脚本。因此,该命令是:

python main.py 56fb661b7e51f80736d48113 

请注意,我不希望这个容器当前容器内运行,而是成为一个单独的容器。

我明白诸如Swarm或Kubernates之类的编排框架会更适合这项任务,但它已被要求在我的开发环境中在本地机器上使用Docker Compose,然后我们将在生产中使用Kubernates。

是否可以使用Docker Compose从正在运行的Docker容器中启动一个新的Docker容器(只是一个容器,而不是一个全新的机器/虚拟机),如果可以,我该如何去做?

回答

1

我没有做我自己,但是从我收集如果你的孩子容器上安装了有搬运工人,如果您在孩子可以在主机的泊坞窗插座你可以与它进行交互。即

--volume=/var/run/docker.sock:/tmp/docker.sock 

你需要配置你的孩子的泊坞窗过程中指向插座(大概是DOCKER_HOST ENVVAR应该工作?),但多数民众赞成的基本思想。对该套接字运行docker命令应在主机上运行。

https://github.com/gliderlabs/registrator使用这种方法可能有助于给你一些三分球。

显然,使用码头工人的这种方法创建了一些问题,但如果它的最适合您的情况,然后去了。