我有一个在port1上运行service1的container1
也
我有一个在port2上运行service2的container2
如何从service1访问service2:port2:port1?
我提到容器是连在一起的。
我问是否有办法在不访问docker0 IP(端口可见的情况下)的情况下执行此操作
感谢
答案 0 :(得分:2)
首选解决方案是将两个容器放在同一网络上,使用内置dns发现按名称到达另一个节点,然后您就可以通过容器端口而不是主机访问它们出版港口。通过CLI,看起来像:
docker network create testnet
docker run -d --net testnet --name web nginx
docker run -it --rm --net testnet busybox wget -qO - http://web
busybox显示一个示例客户端容器,通过端口80连接到名为web的nginx容器。请注意,此端口不需要发布以便其他容器可以访问。
使用自己的网络设置多容器环境是docker-compose的常见任务,因此如果您发现自己这么做,我建议您查看此工具。