解决方法:
[root@kai8wu sysctl.d]# pwd
/usr/lib/sysctl.d
[root@kai8wu sysctl.d]# vim 00-system.conf
# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
net.ipv4.ip_forward = 1 # 加入此句
# 重启网络
[root@kai8wu sysctl.d]# systemctl restart network
通过编辑00-system.conf
文件,实际上更改了系统的网络参数设置
这些参数的含义如下:
net.bridge.bridge-nf-call-ip6tables
:禁用IPv6的iptables调用,确保IPv6数据包的过滤不会影响到Docker容器的网络访问。net.bridge.bridge-nf-call-iptables
:禁用iptables调用,确保数据包的过滤不会影响到Docker容器的网络访问。net.bridge.bridge-nf-call-arptables
:禁用arptables调用,确保ARP数据包的过滤不会影响到Docker容器的网络访问。net.ipv4.ip_forward
:启用IPv4数据包转发,允许数据包在网络接口之间进行路由转发。
当您修改了这些参数后,需要重启网络服务以使更改生效,通过执行命令systemctl restart network
来实现。
这些修改的目的是确保网络配置在虚拟机重启后正确地配置为允许Docker容器的端口访问。这些参数设置通常被用于解决虚拟机中Docker容器网络访问的问题。请注意,这些参数的适用性可能因您的具体环境而异,因此在应用之前,请确保理解其含义并谨慎操作。