我正在尝试在docker中实现以下功能:
在:
Internet --> Host --> ContainerA
后:
Internet --> Host --> ContainerB --> ContainerA
客户端正在与ContainerA上的服务器实例进行通信。现在我想将ContainerB放在主机和ContainerA之间。现在只能通过ContainerB与ContainerA进行通信。即应该禁止主机和ContainerA之间的直接网络通信,以及其他容器和ContainerA之间的通信。
我知道如何在ContainerA和ContainerB之间建立通信,但如何阻止从主机或其他容器直接与ContainerA通信。
答案 0 :(得分:1)
这取决于您用于部署容器的工具。 假设您正在谈论一个vanilla docker引擎,您可以使用docker-compose实现此目的。创建一个仅由ContainerA和ContainerB组成的网络,并仅将ContainerB中的端口暴露给主机和世界其他地方。
如果您对此有意义,请告诉我,如果您需要更多指导,请在评论中指明,我将尝试为此类配置创建一个示例docker-compose.yaml。