docker - Docker - 两个容器之间的通信
问题描述
我是 docker 环境的新手,并试图弄清楚如何使两个容器相互通信。
我有两个正在运行的容器。容器 1 正在运行一个推理引擎,该引擎对其接收到的图像执行推理。容器 1 正在侦听端口 9001。容器 2 拥有图像并希望将其发送到容器 1,但没有说
port 9001 is already binded to some service
PS 当我尝试将图像从主机发送到容器 1 时,它工作正常,但我无法理解如何从另一个容器实现相同的效果。任何帮助将不胜感激。谢谢。
解决方案
您可以使用 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
推荐阅读
- python - 从字典而不是文件路径设置 ["GOOGLE_APPLICATION_CREDENTIALS"]
- css - 在 div 中使用带有 wrap 的 flex 列占用所有剩余空间
- typescript - “对任何值的不安全成员访问”TypeScript 错误
- linux - linux输出,不需要终端输出
- rust - 这行中的双冒号是什么意思?
- julia - 如何在 Julia 中调整贝叶斯 ODE 的超参数?
- java - Java 读取 JSON 属性名称而不解析为类
- python - AttributeError:“int”对象没有带有饼图的属性“plot”
- html - 是否有一个 css 函数允许我在一行中设置位置的顶部、右侧、底部和左侧的值?
- javascript - 查找字符串的索引