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

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

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

(0)

相关推荐

  • docker centos7 安装ssh具体步骤

     docker centos7 安装ssh具体步骤,这里记录下,也行能帮助到正在读文章的朋友. 一. 从docker hub 下载centos 官方镜像 hr:centos7 hr$ docker pull centos:7 下载完后,查看本地资源库: hr:centos7 hr$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos 7 ce20c473cd8a 7 weeks ago 172.3 MB 运行容器 h

  • Centos 6.5中安装docker的步骤(简洁版)

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app).几乎没有性能开销,可以很容易地在机器和数据中心中运行.最重要的是,他们不依赖于任何语言.框架包括系统. 一.安装epel源 复制代码 代码如下: wget http://mirrors.yun-idc.com/epel/6/x86_64/epel-releas

  • 在CentOS 7上安装Docker环境的方法与注意事项

    官网文档:https://docs.docker.com/engine/installation/linux/centos/ ,本文大部分是照搬官方文档写的,如果你英文还不错,那么就直接移步官方文档吧,如果你英文实在是不行,那就勉强看一下本人这生涩的翻译~ 以下操作均在root用户下完成 docker的安装要求64位系统且内核版本大于3.10.所以如果是centos的话,必须安装CentOS7.0或以上版本. 我们这里使用的是CentOS7.2 mininul. uname -r 3.10.0-

  • Centos下安装docker教程

    通过yum安装 需要root或者能sudo的权限 yum包更新到最新 $ sudo yum update 添加Docker yum源 $ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ enabled=1 gpgcheck=1 gpgkey=h

  • CentOS7 安装docker 解决启动不了的问题

    CentOS7安装docker 启动不了,在工作当中遇到这个问题,当时急的不清,网上资料又不多,不过经过自己的捣鼓终于解决了 这个问题! [root@test ~]# yum update [root@test ~]# yum install docker [root@test ~]# service docker start Redirecting to /bin/systemctl start docker.service Job for docker.service failed beca

  • 详解Centos7 下建立 Docker 桥接网络

    前言 最近职业规划开始有了转变,在创业团队中一个人的角色不可能只有一个,说说我现在担任过的角色:配置管理,项目经理,售前技术支持,售后技术支持,测试,少许开发工作,产品策划:除了市场营销,其他杂七杂八的都干过了.最后我发现我最适合的职位也许是devops,这个岗位的工作内容请大家自行百度. 回正题,去年开始关注docker,直到今年看了坛子里的大神们对docker调研实践后,我决定也开始实践.就从改造公司研发和运维环境开始,这次的帖子主要是将自己构建docker桥接物理网络的过程讲述一遍,本来网

  • 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 daem

  • python 修改本地网络配置的方法

    本文主要说一下怎么使用Python来修改本地的ip和dns等,因为有本地的ip和dns都是随机获取的,有些时候不是很方便,需要修改,我就稍微的封装了一下,但是随机ip和网关.子网掩码等我都没有设置为参数,因为经常用也懒得改了,可以自己去修改一下. 测试的时候,在win8.1上面需要用管理员身份才能执行,win7似乎是不需要管理员身份的. 使用的Python库是WMI,这个是默认安装了的.如果没有去网上下载即可. 该说的都在注释里,就直接上代码了. # -*- coding: utf-8 -*-

  • PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享

    对于学习php的新手,由于网上的配置方法都是很久之前的,及时性不高,环境配置往往令人很头疼,我初学php配置环境时配置了3个晚上,每次总是会出现这样或那样的问题,如今把最新版的PHP5.5.15+Apache2.4.10+MySQL5.6.20,win7x86的配置方法分享给大家,64位的同理,不过下载的软件需要也是64位的. 环境:win7 32.(64位的同理,下载相关软件必须是对应的64位版本) PHP5.5.15(php-5.5.15-Win32-VC11-x86.zip) Apache

  • docker网络配置过程详解介绍

    目录 Linux内核实现名称空间的创建 操作Network Namespace 创建veth pair 实现Network Namespace间通信 四种网络模式配置 容器的常用操作 自定义docker0桥的网络属性信息 Linux内核实现名称空间的创建 ip netns命令 可以借助ip netns命令来完成对 Network Namespace 的各种操作.ip netns命令来自于iproute安装包,一般系统会默认安装,如果没有的话,请自行安装. 注意:ip netns命令修改网络配置时

  • Hibernatede 一对多映射配置方法(分享)

    以公司和员工为例:公司是一,员工是多 第一步 创建两个实体类,公司和员工 写核心配置文件hibernate.cfg.xml 写映射配置文件Company.hbm.xml 和Worker.hbm.xml 第二步 让两个实体类之间互相表示 (1)在公司实体类里面表示拥有多个员工,把员工的集合作为属性,写入公司的实体类. //在公司实体类里面表示拥有多个员工,一个公司有多个员工 //hibernate要求使用集合表示多的数据,使用set集合 private Set<Worker> workers=n

  • 基于tomcat映射路径配置方法分享

    tomcat请求头配置 在使用postman测试的时候(携带参数)我们经常会发现浏览器一个错误:request header is too large,意思是请求头字段太长了.在这里需要配置下tomcat请求头长度. tomcat-service.xml <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443&q

  • Virtualbox NAT网络配置方法

    Virtualbox 本身自带了一个NAT网络地址转换的连接方式,不用配置可以直接使用. 既然有现成的直接可以选,为什么还要配置 NAT网络呢?原因在于默认的NAT网络,网段是预置好的** 10.0.2.0/24**,本来也没什么问题.只是最近连接 项目VPN时,VPN的网段也是 10.0.2.0/24. 虽然能成功连接VPN,但是虚拟机上的多个服务之间的经常会出现无法连接的情况,在虚拟机中用SSH也连不上VPN中的服务器,折腾了好长时间才发现可能是网段冲突导致的. 于是,才想到自己去配置一个N

  • FCKeditor 2.6.6在ASP中的安装及配置方法分享

    首先从FCKEditor官方下载最新的版本我们提供的下载地址 http://www.jb51.net/codes/21294.html 安装及配置方法:一.打开文件夹发现有许多文件对于ASP来说是用不到的:删除FCKEditor2.6.6中不必要的文件:解压缩FCKeditor_2.6.6.zip到你网站根目录 fckeditor文件夹中,同时把文件夹内带_的文件夹和文件一并删除:1.fckeditor目录下除editor目录.fckconfig.js.fckeditor.asp.fckedit

  • VMware中安装Linux系统(Redhat8)及虚拟机的网络配置方法

    1.安装vmware 1.1下载VMware workstations: 选择15.x版本,下载地址可在百度搜索,或者直接在软件管家下载即可 1.2安装vmware 跟着安装向导走即可,只需在安装过程中输入注册许可证密钥 任意输入以下密钥,可完成注册: CZ7WU-2MF01-488FZ-L6Z5T-PYAU4 CY1TH-0XZ5M-M85NY-MNXGG-ZZHU8 ZZ3EK-62W1P-H803P-4WN7T-Q7HT2 CY75U-ATW0P-H8EYZ-WDZE9-N68D6 GY7

  • win2003+IIS下安装Xcache加速的配置方法分享

    在论坛后台看了半天,只有内存优化一个还没有做,但是自己以前又没有弄过,只有学了. 论坛支持Memcache.eAccelerator.Alternative PHP Cache(APC).Xcache 四种优化方式,在网上搜了很久,Memcache看的有点头晕,eAccelerator也有点莫名奇妙,最终选择Xcache. 经过一番摸索后把这个加速搞定了,手机进的时候都快了很多,效果看起来还是挺明显的,现在把配置方法写下来,以免以后重装系统或换服务器什么的又忘了怎么弄. Xcache下载地址:

随机推荐