centos修改docker网络配置方法分享
在为客户使用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
相关文章
解决Docker中的error during connect异常情况
这篇文章主要介绍了解决Docker中的error during connect异常情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-11-11Docker Desktop安装本地Kubernetes集群的实现
Kubernetes用于协调高度可用的计算机集群,本文主要介绍了Docker Desktop安装本地Kubernetes集群的实现,具有一定的参考价值,感兴趣的可以了解一下2024-02-02docker根据已生成的容器生成docker-compose.yml文件的实现步骤
这篇文章主要给大家介绍了docker 如何根据已生成的容器生成docker-compose.yml 文件,文中有详细的代码示例和实现步骤,对大家的学习有一定的帮助,需要的朋友可以参考下2023-10-10
最新评论