设置单个CLI来与多个容器连接?

我不是Docker专家,现在已经在这个问题上挣扎了好几个小时了 –

我有2个独立的图像 – 一个用于Python REPL,另一个用于Scheme REPL。 我想创build一个应用程序,提供一个包含2个运行图像的容器的CLI接口 – 这样,当我inputpython它连接到Python REPL容器并执行后面的所有内容。 而scheme连接到Scheme REPL容器。

我有2个问题 –

a)使用Docker Compose可以吗? 另外,这是否真的有资格作为Docker Compose的用例?

b)假设我从下面的裸机docker-compose.yml

 version: '3.3' services: python: image: "python:3.6.2-alpine3.6" racket: image: "m4burns/racket" 

如果我发出python或scheme命令,是否在另一个与另外两个通信的容器中设置了公共CLI(例如bash shell)? 我如何定义入口点?

我知道一个更简单的解决scheme就是制作一个Dockerfile,将Python&Scheme安装到一个图像中。 不过,我真的想把他们分开,因此正在走这条路。

任何帮助将不胜感激。

使用docker-compose不会为您提供单个CLI界面。 相反,创build了两个单独的容器,但优点是不同的容器可以使用您指定的服务名称相互通信。

 version: '3.3' services: python: image: "python:3.6.2-alpine3.6" racket: image: "m4burns/racket" 

从你给的例子来看, python可以通过使用http:// racket访问racket 。 容器可以使用他们的服务名称访问彼此。 默认情况下,服务名称被视为主机名。 这个主机名用于通信。 大多数人使用这种默认行为,但是,您也可以单独指定主机名。