Docker:如何创建“仅限互联网”网络?

Docker:如何创建“仅限互联网”网络?

我正在使用 docker,我想为我的一个容器创建一个“仅限互联网”的网络:我希望这个容器只能访问互联网,它不能访问其他容器或主机。

我曾考虑过使用 iptables 来实现这一点,但我认为直接创建 docker 网络会更高效、更优雅。尽管如此,我还是找不到如何创建这个“仅限互联网”的 docker 网络。

你能帮我一下吗?

谢谢 !

答案1

如果您的网络状况支持设置 VLAN,Docker 的 macvlan 网络可以将容器放入标记的 VLAN 中 - 然后让您的路由器/防火墙只允许该 VLAN 访问您想要的网络资源。请参阅这里了解更多信息。

答案2

您可以通过为容器设置新网络来将容器彼此隔离

docker network create internetonly
docker run --rm -ti --network internetonly fedora:25 /bin/bash

它将无法连接到现有容器,尽管您使用 --network internetonly 启动的任何未来容器都将能够相互通信。如果您不想这样,请为它们提供单独的网络(但 iptables 可能会更方便)

不幸的是,这并不能保护主机,因为 docker 网络需要它作为出站路由。

相关内容