全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Docker如何添加自定义网桥

Docker服务进程在启动的时候会生成一个名为docker0的网桥,容器默认都会挂载到该网桥下,但是我们可以通过添加docker启动参数-b Birdge 或更改docker配置文件来选择使用哪个网桥。

操作系统:centos7

删除docker0网桥

service docker stop //关闭docker服务 
ip link set dev docker0 down //关闭docker0网桥  
ip link del dev docker0    //删除docker0网桥 

自定义网桥设置(/etc/sysconfig/network-scripts/ifcfg-br0文件)

DEVICE="br0" 
ONBOOT="yes" 
TYPE="Bridge" 
BOOTPROTO="static" 
IPADDR="10.10.10.20" 
NETMASK="255.255.255.0" 
GATEWAY="10.10.10.20" 
DEFROUTE="yes" 
NM_CONTROLLED="no" 

重启网络服务

service network restart 

查看网桥

[black@test opt]$ brctl show 
bridge name   bridge id        STP enabled   interfaces 
br0       8000.32e7297502be    no        
virbr0     8000.000000000000    yes 

接下来我们需要重新启动docker,可以在启动docker服务进程时使用以下两种方式:

第一种:-b 参数指定网桥

[root@test opt]# docker -d -b br0 
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)  
INFO[0000] [graphdriver] using prior storage driver "devicemapper"  
WARN[0000] Running modprobe bridge nf_nat failed with message: , error: exit status 1  
INFO[0000] Loading containers: start.           
...... 
INFO[0000] Loading containers: done.           
INFO[0000] Daemon has completed initialization      
INFO[0000] Docker daemon   commit=786b29d execdriver=native-0.2 graphdriver=devicemapper version=1.7.1 

不知道为什么这样启动docker 服务进程会阻塞当前终端(︶︿︶),只好重新开一个终端,然后运行一个容器

[root@test shell]# docker run -ti --rm centos:latest 
[root@3c6874559411 /]# ifconfig 
eth0   Link encap:Ethernet HWaddr 02:42:0A:0A:0A:01  
     inet addr:10.10.10.1 Bcast:0.0.0.0 Mask:255.255.255.0 
     inet6 addr: fe80::42:aff:fe0a:a01/64 Scope:Link 
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
     RX packets:5 errors:0 dropped:0 overruns:0 frame:0 
     TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 
     collisions:0 txqueuelen:0  
     RX bytes:418 (418.0 b) TX bytes:508 (508.0 b) 

容器成功使用br0网桥。

第二种:修改/etc/sysconfig/docker文件

我在进行这种操作的时候遇到了一点问题,我修改了/etc/sysconfig/docker文件

[root@test opt]# vi /etc/sysconfig/docker  
# /etc/sysconfig/docker 
# 
# Other arguments to pass to the docker daemon process 
# These will be parsed by the sysv initscript and appended 
# to the arguments list passed to docker -d 
 
other_args="-b br0" 

接着使用service docker start启动docker服务,但是other_args并不生效,在centos7下servicer docker start仍然会采用systemctl start docker.service命令来运行,于是我就打开/usr/lib/systemd/system/docker.service查看

[root@test opt]# vi /lib/systemd/system/docker.service  
[Unit] 
Description=Docker Application Container Engine 
Documentation=https://docs.docker.com 
After=network.target docker.socket 
Requires=docker.socket 
[Service] 
ExecStart=/usr/bin/docker -d -H fd:// 
MountFlags=slave 
LimitNOFILE=1048576 
LimitNPROC=1048576 
LimitCORE=infinity 
 
[Install] 
WantedBy=multi-user.target 

发现ExecStart一项并没有运行参数,于是将ExecStart改为/usr/bin/docker -d -b br0 -H fd://,运行docker服务,启动一个容器发现能够成功使用br0网桥。

在网上看到了一种更好的方法,将docker.service改为如下

[black@test ~]$ vi /usr/lib/systemd/system/docker.service  
[Unit] 
Description=Docker Application Container Engine 
Documentation=https://docs.docker.com 
After=network.target docker.socket 
Requires=docker.socket 
[Service] 
EnvironmentFile=-/etc/sysconfig/docker 
ExecStart=/usr/bin/docker -d $other_args -H fd:// 
MountFlags=slave 
LimitNOFILE=1048576 
LimitNPROC=1048576 
LimitCORE=infinity 
 
[Install] 
WantedBy=multi-user.target 

这个时候在other_args中添加的参数就有效了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# docker  # 自定义网桥  # 网桥  # 添加网桥  # 一次centos Docker网桥模式无法访问宿主机Redis服务的故障排除经历  # Docker如何实现修改Docker0网桥默认网段  # 详解修改docker启动默认网桥docker0为自定义网桥  # 详解如何修改 Docker 默认网桥地址  # Docker如何使用OpenvSwitch网桥  # Docker使用自定义网桥  # docker自定义网桥docker0及docker的开启  # 关闭  # 重启命令操作  # 我就  # 我在  # 两种  # 可以通过  # 这个时候  # 自定义  # 新开  # 不知道为什么  # 重启  # 重新启动  # 第二种  # 第一种  # 配置文件  # 大家多多  # 到该  # 看到了  # 在网上  # 操作系统  # INFO 


相关文章: 建站主机无法访问?如何排查域名与服务器问题  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  深圳网站制作案例,网页的相关名词有哪些?  如何高效生成建站之星成品网站源码?  如何快速选择适合个人网站的云服务器配置?  建站主机解析:虚拟主机配置与服务器选择指南  建站之星如何实现五合一智能建站与营销推广?  如何快速生成专业多端适配建站电话?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  高防服务器租用如何选择配置与防御等级?  广平建站公司哪家专业可靠?如何选择?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  如何选择高效可靠的多用户建站源码资源?  如何在IIS中新建站点并配置端口与物理路径?  C#怎么使用委托和事件 C# delegate与event编程方法  网站制作说明怎么写,简述网页设计的流程并说明原因?  如何破解联通资金短缺导致的基站建设难题?  平台云上自主建站:模板化设计与智能工具打造高效网站  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  ,购物网站怎么盈利呢?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何在腾讯云服务器上快速搭建个人网站?  建站之星安装步骤有哪些常见问题?  宝塔建站后网页无法访问如何解决?  音响网站制作视频教程,隆霸音响官方网站?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  建设网站制作价格,怎样建立自己的公司网站?  建站之家VIP精选网站模板与SEO优化教程整合指南  网站制作模板下载什么软件,ppt模板免费下载网站?  制作销售网站教学视频,销售网站有哪些?  股票网站制作软件,网上股票怎么开户?  如何用腾讯建站主机快速创建免费网站?  如何通过cPanel快速搭建网站?  装修招标网站设计制作流程,装修招标流程?  如何在橙子建站中快速调整背景颜色?  Java解压缩zip - 解压缩多个文件或文件夹实例  c# Task.ConfigureAwait(true) 在什么场景下是必须的  广州建站公司哪家好?十大优质服务商推荐  如何通过PHP快速构建高效问答网站功能?  如何快速查询网站的真实建站时间?  网站制作公司,橙子建站是合法的吗?  简单实现Android验证码  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  制作网站的公司有哪些,做一个公司网站要多少钱?  如何用景安虚拟主机手机版绑定域名建站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。