一、容器访问外部网络
容器要想访问外部网络,需要本地系统的转发支持。在Linux 系统中,检查转发是否打开。

如果为 0,说明没有开启转发,则需要手动打开。
sysctl -w net.ipv4.ip_forward=1
二、容器访问控制
容器的访问控制,主要通过 Linux 上的 iptables 防火墙来进行管理和实现。 iptables 是 Linux 上默认的防火墙软件,在大部分发行版中都自带。

每一个大的方块中,就是iptables中的一个链(chain),每一个链实际上就是数据处理中的一个环节,而在每个环节中又包含了不同的操作。
三、容器的端口映射
启动容器
![]()

Ctrl+p Ctrl+q退出容器
查看端口映射、并使用curl访问nginx界面

查看iptables规则:

我们可以看到DOCKER链中多了一个关于cct5容器的映射,这样就允许外部网络访问这个容器
查看本机ens33的ip地址:

在另外一台虚拟机上访问上面虚拟机上开启的nginx服务:

可以看到访问成功了,外部网络也可以访问docker容器!
四、限制IP访问docker容器
启动容器

Ctrl+p Ctrl+q退出容器
添加规则,限制特定ip对docker容器的访问:
![]()
查看iptables规则是否添加成功:

已经添加成功
查看端口映射:
![]()
查看本机IP:

在另外一台虚拟机上,访问上面这个虚拟机上的docker容器开启的nginx服务:

访问失败!所以测试成功!
本文详细介绍了Docker容器如何访问外部网络,包括开启系统转发、使用iptables进行访问控制及端口映射的方法。同时,演示了如何限制特定IP对Docker容器的访问,确保网络安全性。
1360

被折叠的 条评论
为什么被折叠?



