在我的 docker-compose 中,我有2个容器。 当这两个容器安装在没有容器的主机中时,如何使这两个容器相互访问。 他们如何互相了解他们的文件系统
答案 0 :(得分:1)
要允许容器间通信,请创建一个公共的桥接网络,并将两个容器放入同一网络。假定不需要进行任何“对话”的构建阶段不需要--network开关。
docker network create jointops
docker build --network jointops -t srv1 /srv1
docker build --network jointops -t srv2 /srv2
docker run --network jointops -d -t srv1
docker run --network jointops -d -t srv2
要检查两台计算机是否在同一网络上,请发出命令
docker network inspect jointops
您应该看到两台机器都有IP分配。
好吧...他们如何沟通? 桥接网络-默认情况下,jointop将执行dns解析
因此,如果srv1具有类似
curl -c http://srv2/bla/bla/bla
这将正确解决。
关于共享数据访问..
相反
答案 1 :(得分:-1)
有关容器间的通信,请参见here。每个容器都封装了其内容,因此请使用端口进行通信,而不是试图将一个容器的整个文件系统公开地暴露给另一个容器。
如果两个应用程序需要访问同一文件系统,请考虑在相同的容器中运行它们。支持。