我必须在 docker 容器上启用防火墙吗?
Do I have to enable firewall on docker container?
我想知道我是否需要在容器中启用防火墙。 (嘉宾 OSes)
在GCE、Amazon EC2等传统IaaS上,需要配置防火墙。 (CentOS 6 上的 iptables,7 上的 firewalld,Ubuntu 上的 ufw)
但是,Dockerfile 有 EXPOSE
,我猜 Docker 拒绝访问除 Dockerfile.
中声明的端口之外的所有端口
超出我的预期是否正确?
注意:这是关于 OS 内部容器(来宾 OS),而不是 Docker 主机。因为我正在使用 Google Container Engine,所以我现在只对 guest 感兴趣。
您不必在容器内启用或配置防火墙。
关键原因是 Docker 已经为每个容器和发布的端口添加了 iptables 规则,并且 Docker 必要时与 firewalld 通信。 (iptables、ufw 和 firewalld 都呈现了底层 netfilter 实现的视图;它们在内部都是一样的)。
注意没有"guest OS";容器内的所有内容都 运行 在与外部相同的内核上。也许使用一些不同的用户空间工具,但不是单独的 OS。
此外,Docker 不会安装任何规则来阻止未公开的端口。
这取决于你想用防火墙挡住谁。因为你特意说了Container Engine,所以上面Bryan的回答不适用。
您是否尝试在集群内设置防火墙?还是您正在尝试防御 Google 云项目的其余部分?还是您要防御互联网?
在一个集群中,假设(到目前为止)是 运行 个进程都在同一个 space 中。我认为我们会在未来几个月看到该领域的更多增长(网络政策),但这就是今天的情况,因此没有自动化的集成防火墙设置。
同样在 Google 云项目中。
关于 Internet,您应该关闭您的云防火墙,以防任何您不明确需要向世界公开的内容。这应该是默认值。如果您不确定,请检查云控制台。当您使用 Kubernetes 暴露服务时,我们会自动为您打开防火墙。
我想知道我是否需要在容器中启用防火墙。 (嘉宾 OSes)
在GCE、Amazon EC2等传统IaaS上,需要配置防火墙。 (CentOS 6 上的 iptables,7 上的 firewalld,Ubuntu 上的 ufw)
但是,Dockerfile 有 EXPOSE
,我猜 Docker 拒绝访问除 Dockerfile.
超出我的预期是否正确?
注意:这是关于 OS 内部容器(来宾 OS),而不是 Docker 主机。因为我正在使用 Google Container Engine,所以我现在只对 guest 感兴趣。
您不必在容器内启用或配置防火墙。
关键原因是 Docker 已经为每个容器和发布的端口添加了 iptables 规则,并且 Docker 必要时与 firewalld 通信。 (iptables、ufw 和 firewalld 都呈现了底层 netfilter 实现的视图;它们在内部都是一样的)。
注意没有"guest OS";容器内的所有内容都 运行 在与外部相同的内核上。也许使用一些不同的用户空间工具,但不是单独的 OS。
此外,Docker 不会安装任何规则来阻止未公开的端口。
这取决于你想用防火墙挡住谁。因为你特意说了Container Engine,所以上面Bryan的回答不适用。
您是否尝试在集群内设置防火墙?还是您正在尝试防御 Google 云项目的其余部分?还是您要防御互联网?
在一个集群中,假设(到目前为止)是 运行 个进程都在同一个 space 中。我认为我们会在未来几个月看到该领域的更多增长(网络政策),但这就是今天的情况,因此没有自动化的集成防火墙设置。
同样在 Google 云项目中。
关于 Internet,您应该关闭您的云防火墙,以防任何您不明确需要向世界公开的内容。这应该是默认值。如果您不确定,请检查云控制台。当您使用 Kubernetes 暴露服务时,我们会自动为您打开防火墙。