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

标签 docker mapping containers port

我有一个在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/

相关文章:

Docker 端口未正确暴露

mysql - Kettle:想要将字符串值映射到另一个表中的id

Elasticsearch 映射参数 : index vs enabled

arrays - 遍历一个完整的二叉最小堆

algorithm - Hashmap hashcode到内表索引的转换

css - 如何制作完整的CSS容器

mysql - Docker-compose链接外部/本地mysql

docker compose - 忽略构建上下文路径

docker - container_image完整的docker镜像tarball

javascript - 将 JSON 映射到对象