首页 > 解决方案 > 为什么 Docker 会阻止将容器附加到主机和用户定义的桥接网络?

问题描述

为什么 Docker 禁止将容器附加到主机和用户定义的桥接网络?

其次,对于需要在主机上禁用 IP 转发的部署,docker 是否建议仅使用主机网络部署 docker 容器,因为根据我的理解,这似乎是唯一的选择。

对以上两个有什么见解吗?

谢谢

标签: dockerdocker-compose

解决方案


为什么 Docker 禁止将容器附加到主机和用户定义的桥接网络?

因为当容器在主机网络命名空间中运行时,无法“附加”网络。

Docker 通过将虚拟接口添加到容器的隔离网络命名空间来连接网络。在全局网络命名空间中运行时,没有理智的方法可以做到这一点:任何新接口都不会被限制在容器中,并且可能会破坏主机网络。

其次,对于需要在主机上禁用 IP 转发的部署,docker 是否建议仅使用主机网络部署 docker 容器,因为根据我的理解,这似乎是唯一的选择。

这可能是唯一简单的选择。

您可以在主机上运行代理服务,以在 Docker 容器中公开服务。您甚至可以通过监控 Docker 中的事件并获取有关已发布端口的信息来实现自动化。否则,您将需要手动实施适当的配置。


推荐阅读