我有一个在port1上运行service1的container1
也
我有一个在port2上运行service2的container2
如何从service1:port1访问service2:port2?
我提到容器是链接在一起的。
我问是否有一种方法可以不访问docker0 IP(端口可见)
谢谢
最佳答案
首选的解决方案是将两个容器都放在同一网络上,使用内置的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
繁忙框显示了一个示例客户端容器,该客户端容器通过端口80连接到名称为web的nginx容器。请注意,不需要将该端口发布即可被其他容器访问。
使用自己的网络设置多容器环境是docker-compose的常见任务,因此,如果您发现自己经常这样做,我建议您研究一下该工具。
关于docker - 从另一个容器访问的Docker容器端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42318770/