2017-02-18 177 views
0

访问我的端口1运行的服务1一个container1搬运工集装箱港口从另一个容器

我运行一个服务2一container2的上端口2

如何访问服务2:从服务1端口2 :PORT1?

我提到容器连接在一起。

我问,如果有一种方法可以做到这一点,而无需访问docker0 IP(这里的端口是可见的)

感谢

+0

假设service2已经在service1之前运行,并且在service1开始时链接为's2',那么您应该可以在service1内调用s2:? – hurturk

+0

hi @zatta!实际上这是不可能的 –

+0

我可以问一下你运行service1的命令是什么? – hurturk

回答

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的显示了一个样本客户容器连接到名为网络nginx的容器,通过端口80。注意,此端口并不需要发布到被可达其他容器。

使用自己的网络设置多容器环境是docker-compose的一项常见任务,因此如果您发现自己在做这些工作,我建议您查看此工具。