我应该什么时候使用docker的主机网络
我知道,如果我对容器使用主机网络驱动程序,则该容器的网络堆栈不会与Docker主机隔离。 我还认为,从概念上理解,仍然这样做的一个很好的理由可能是“安全不是问题或担忧”,网络吞吐量性能很重要,但我正在努力思考一个现实世界的例子,说明我何时可以或应该这样做。我能想到的一个简单的例子是面向公众的负载均衡器或静态文件web服务器 我意识到,在使用AWS或谷歌云等主机服务之外,如果托管在那里,可能会减轻安全问题,但如果这不是一个选项呢 您何时或应该在生产环境中使用它? 无论托管环境如何,您如何减轻安全问题? 您应该如何与其他docker网络中的其他服务交互 但我正在努力想一个现实世界的例子,说明我什么时候可以或者应该这样做 下面是一个真实的例子:我们使用主机网络来加速gitlab ci/cd管道的构建阶段 有问题的容器仅在构建阶段启动并运行,没有暴露任何端口,需要更快的网络下载构建和推送docker映像所需的所有部分,并且我们在构建阶段遇到了吞吐量问题和行为不一致的问题(在某些断断续续的情况下),我们通过主机网络解决了这些问题。尽管使用主机网络,我们“公开”了这样一个容器的ip,但我们仍然不公开任何端口,并且在构建阶段完成后,容器被丢弃 我知道这并不能回答你们所有的问题,但这是一个真实世界的例子 我正在努力想一个现实世界的例子,告诉我什么时候可以或者应该这样做。。。您何时或应该在生产环境中使用它我应该什么时候使用docker的主机网络,docker,docker-swarm,Docker,Docker Swarm,我知道,如果我对容器使用主机网络驱动程序,则该容器的网络堆栈不会与Docker主机隔离。 我还认为,从概念上理解,仍然这样做的一个很好的理由可能是“安全不是问题或担忧”,网络吞吐量性能很重要,但我正在努力思考一个现实世界的例子,说明我何时可以或应该这样做。我能想到的一个简单的例子是面向公众的负载均衡器或静态文件web服务器 我意识到,在使用AWS或谷歌云等主机服务之外,如果托管在那里,可能会减轻安全问题,但如果这不是一个选项呢 您何时或应该在生产环境中使用它? 无论托管环境如何,您如何减轻安全问
- 应用程序不是在TCP或UDP上运行,而是在另一个协议上运行
- 您的应用程序需要发布大范围的传入端口(默认情况下,每个已发布的端口都会生成docker代理进程,这对于大范围来说可能太多)
- 您的应用程序可以处理多播或广播网络流量
- 您的应用程序需要修改主机本身的网络层,例如VPN