在被调用的docker容器之外实例化docker容器

我试图以编程方式启动docker容器在我的Java代码,将做一些数据处理,然后死一旦完成。 这是因为我们没有大量的docker集装箱不断在生产集群上进行监听。

我find了docker remote api,它允许我发送http的调用来执行各种docker命令。 我还通过Spotify发现了一个很好的库,它将环绕这些调用。

我的问题是:

  • 如果调用远程api的代码位于docker容器中,那么在该代码中实例化的容器是否存在于callee docker容器中? 本质上是docker工人的docker工人。 这是不理想的,因为这个代码实例化的一些潜在的容器将使用大量的RAM,这将超过为被调用容器分配的RAM,特别是如果我们随时实例化n个容器。

  • 我怎么能让Docker容器实例化与住在宿主中的其他容器一起生活?

  • 有没有什么事情需要做,以便在Hadoop集群中工作? docker api当前正在侦听默认的unix套接字,是否需要将其更改为端口才能在集群中工作?

Docker和Hadoop对我来说是新的,所以任何信息都将是最有帮助的。

将在该代码中实例化的容器是否存在于被调用者泊坞窗容器中

在哪里进行Docker API调用并不重要,Containers将在Docker守护进程正在运行的代码的实例中进行实例化。 如果您使用Swarm之类的软件来pipe理Docker主机集群,那么可能会告诉API运行容器。

有没有什么事情需要做,以便在Hadoop集群中工作?

Hadoop集群和Docker(或Docker集群)通常是分开pipe理的,所以它们不一定是相同的东西。 您的基础架构人员应该能够告诉您他们在您的环境中如何相互关联。 如何连接到Docker API只会真正改变你的代码需要运行的地方,而不是你的代码可以做的事情。