从另一个容器访问的docker容器端口

时间:2017-02-18 18:03:16

标签: docker mapping containers port

我有一个在port1上运行service1的container1

我有一个在port2上运行service2的container2

如何从service1访问service2:port2:port1?

我提到容器是连在一起的。

我问是否有办法在不访问docker0 IP(端口可见的情况下)的情况下执行此操作

感谢

1 个答案:

答案 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的常见任务,因此如果您发现自己这么做,我建议您查看此工具。