centos修改docker网络配置方法分享

作者:袖梨 2022-06-30

在为客户使用docker运行php-fpm的时候,发现有的可以正常连接服务器,有的不可以。经过诊断发现客户端的ip网段和docker创建的默认docker0网卡网段冲突。

docker0默认的网络一般都是172.17.0.1/24或192.168.0.1/24。如果客户端的ip是172.17.111.1,则这时候访问基于docker部署的应用的时候,会遇到网络问题。

解决的方案,有两种。

1:使用host模式运行docker,但是需要删除默认的docker0虚拟网卡。在下次docker daemon重新启动的时候,又会重新创建这个docker0的虚拟网卡。

2:另一种解决方式,就是修改默认的docker0网络配置,使用另外的网段给docker使用。

如下步骤,是基于方案二的解决步骤,亲测可行。

 

 代码如下复制代码

#停止docker服务器,并删除docker0网卡

sudosystemctl restart docker

sudoip linksetdev docker0 down

sudobrctl delbr docker0

 

# 创建自定义bridge0网络,网段为10.255.254.1/24

sudobrctl addbr bridge0

sudoip addr add 10.255.254.1/24dev bridge0

sudoip linksetdev bridge0 up

#sudo ip link set dev bridge0 down ; sudo brctl delbr bridge0

 

# 确认网卡已经运行

ip addr show bridge0

 

# 创建docker运行的配置文件(如果文件夹不存在,手工创建)

sudomkdir/etc/systemd/system/docker.service.d

sudovi/etc/systemd/system/docker.service.d/docker.conf##输入如下内容

 

echo"[Service]

EnvironmentFile=-/etc/sysconfig/docker

ExecStart=

ExecStart=/usr/bin/dockerd$OPTIONS

   $DOCKER_STORAGE_OPTIONS

   $DOCKER_NETWORK_OPTIONS

   $BLOCK_REGISTRY

   $INSECURE_REGISTRY" >/etc/systemd/system/docker.service.d/docker.conf

 

 

# 修改docker服务启动默认绑定网卡为bridge0

echo'DOCKER_NETWORK_OPTIONS="-b=bridge0"'>>/etc/sysconfig/docker

 

sudosystemctl daemon-reload

 

sudosystemctl restart docker

 

相关文章

精彩推荐