首页 > 解决方案 > Docker - 两个容器之间的通信

问题描述

我是 docker 环境的新手,并试图弄清楚如何使两个容器相互通信。
我有两个正在运行的容器。容器 1 正在运行一个推理引擎,该引擎对其接收到的图像执行推理。容器 1 正在侦听端口 9001。容器 2 拥有图像并希望将其发送到容器 1,但没有说

port 9001 is already binded to some service

PS 当我尝试将图像从主机发送到容器 1 时,它工作正常,但我无法理解如何从另一个容器实现相同的效果。任何帮助将不胜感激。谢谢。

标签: dockercontainersdocker-container

解决方案


您可以使用 docker-compose。运行命令时,它将为您创建一个桥接网络,docker-compose up在 Compose 文件中定义的每个图像都会自动在此网络中启动。

如果您不使用 Docker-Compose 并运行单个容器,则将这两个服务端口都暴露给主机。

docker run -p 9001:9001 image_1

docker run -p host's_port : container_port image_2

然后可以使用主机 IP 进行通信, 例如: http://hostip :port


推荐阅读