设置单个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 。 容器可以使用他们的服务名称访问彼此。 默认情况下,服务名称被视为主机名。 这个主机名用于通信。 大多数人使用这种默认行为,但是,您也可以单独指定主机名。