首页 > 解决方案 > 通过使用 docker api 创建服务(群模式)将 2 个 docker 容器链接在一起

问题描述

我正在使用 docker api 创建容器、网络、服务等,但我的要求是我希望面向公众的容器与在同一网络上运行的另一个容器进行通信。为此,我可以使用容器名称作为主机名以及我尝试连接非公共容器的端口。

我无法通过任何与服务相关的 api 找到容器的名称。我绝对可以使用 docker-compose 的链接功能,但我正试图通过 API 来做到这一点。谁能帮我这个?

标签: dockerdocker-composedocker-swarmdocker-apidocker-engine

解决方案


您可以在 docker-compose.yml 中定义网络要求。请参阅https://docs.docker.com/compose/compose-file/#aliases中的示例。在您的情况下,您可能不需要别名,但该部分中的示例有一个示例。

默认情况下,compose 文件中定义的所有服务都在一个网络中。

如果您想手动操作,https://docs.docker.com/engine/reference/commandline/network/是您想要的命令。为每个容器使用docker network create和多个。docker network connect


推荐阅读