服务器 
首页 > 服务器 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

在为客户使用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网卡
sudo systemctl restart docker
sudo ip link set dev docker0 down
sudo brctl delbr docker0

# 创建自定义bridge0网络,网段为10.255.254.1/24
sudo brctl addbr bridge0
sudo ip addr add 10.255.254.1/24 dev bridge0
sudo ip link set dev bridge0 up
#sudo ip link set dev bridge0 down ; sudo brctl delbr bridge0

# 确认网卡已经运行
ip addr show bridge0

# 创建docker运行的配置文件(如果文件夹不存在,手工创建)
sudo mkdir /etc/systemd/system/docker.service.d
sudo vi /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

sudo systemctl daemon-reload

sudo systemctl restart docker

参考链接:

https://opskumu.gitbooks.io/docker/content/chapter6.html

https://www.jb51.net/softjc/35980.html

https://docs.docker.com/engine/admin/systemd/#custom-docker-daemon-options

上一篇:详解云与备份之VMware虚机备份和恢复
下一篇:Win10上VMware workstation安装图文教程
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。