docker 中除套接字/网络之外的容器之间的通信

docker 中除套接字/网络之外的容器之间的通信

除了通过套接字/网络之外,还有其他方法可以在 docker 容器之间进行通信吗?可能是 IPC 或其他方式。这可行吗?

我读过 docker 文档,其中说我们可以使用 --link 选项链接 docker 容器,但它没有指定如何将数据/消息从一个容器传输到另一个容器。我已经创建了一个名为 checkram 的容器。现在我想将一个新容器与此容器链接起来并运行命令。然后我检查了linkcont 容器中包含的docker run -i -t --privileged --link=checkram:linkcheck --name linkcont topimg环境变量。我不知道如何处理这个 ip 和端口,以及如何从 linkcont 容器与 checkram 容器通信。有人能帮我解决这个问题吗?提前谢谢。LINKCHECK_PORTtcp://172.17.0.14:22

答案1

--link选项为同一台机器上的容器提供了一种相互查找的方法,因为 IP 地址是动态分配的,端口可以重新映射。但是,这全都与套接字通信有关。这个想法是,您将在一个容器中运行一个程序来监听套接字,然后在另一个容器中运行另一个程序来连接到第一个套接字。

Docker(以及一般的 Linux 容器)的核心是将一个事物与另一个事物隔离,因此共享内存等 IPC 机制不可用。

相关内容