首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kubernetes:如何从Docker容器A对Docker容器B运行Bash命令

Kubernetes:如何从Docker容器A对Docker容器B运行Bash命令
EN

Stack Overflow用户
提问于 2016-11-27 06:58:42
回答 1查看 390关注 0票数 0

我已经建立了一个基于Docker-Multinode的简单Kubernetes测试环境。我还建立了一个基于Ubuntu的非常大的Docker镜像,其中包含我的几个工具。它们中的大多数都是用C++编写的,对系统上安装的库和其他库有相当多的依赖关系。

我的目标是在多个节点之间分发遗留批处理任务。我喜欢Docker-Multinode的简单设置,但现在我想知道这是否适合我-因为我在另一个Docker镜像中有我的实际遗留应用程序。

如何从Docker容器A(多节点worker Docker容器)对Docker容器B(带有遗留工具的Ubuntu Docker容器)运行Bash命令?或者这是完全不可取的?

需要说明的是,Docker容器A( worker多节点worker Docker容器)和Docker容器B(遗留工具Ubuntu Docker容器)运行在同一主机上(每台机器都有这两个容器)。

EN

回答 1

Stack Overflow用户

发布于 2016-11-27 09:42:13

你的问题真的不清楚:

Kubernetes运行Docker容器;任何Docker容器。

Kubernetes本身在Docker中运行,在“多节点”中,Kubernetes所需的依赖项在Docker中运行,但在所谓的自举Docker中运行。

现在,在你的问题中还不清楚Docker A和Docker B在哪里运行。此外,如果你想“分发”批处理作业,那么每个作业都应该是在它自己的容器中运行的独立作业,而容器A不应该依赖于容器A。

如果您需要Docker容器B中的依赖项(库)来运行您的作业,那么您实际上只需要使用Docker容器B作为您的作业容器A的基础镜像。Docker镜像是分层的,因此即使它很大,如果另一个容器使用它作为基础镜像,它也只被加载一次,所以有五个类型A的容器和B作为基础镜像是不成问题的,因为基础镜像只加载一次。

如果您确实需要一个容器来与另一个容器通信,那么您应该构建一个应用程序接口来将命令从一个容器传递到另一个容器(某种HTTP,它可以通过RESTful调用进行通信,以传递对在一个容器上运行的进程的请求并返回结果)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40824003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档