环境:
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@localhost ~]# uname -r
3.10.0-1062.el7.x86_64
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.111 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::13c3:5f21:11b7:51c5 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:bf:81:71 txqueuelen 1000 (Ethernet)
RX packets 80 bytes 9527 (9.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 90 bytes 12443 (12.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
安装配置
执行下面命令,可以直接放在脚本中运行,这里的网卡是ens33
#!/bin/bash
#by auth toyix
#2020年8月7日 11:51:54
#auto install config docker bridge
##########################################
#安装基础环境
yum install docker* -y
yum install bridge-utils -y
systemctl start docker
systemctl stop docker
#停止及删除docker0网桥
ifconfig docker0 down
brctl delbr docker0
#查看网桥信息
brctl show
#改ens33网卡配置文件
cd /etc/sysconfig/network-scripts/
cat>ifcfg-ens33 <<-EOF
DEVICE=ens33
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
BRIDGE="br0"
IPADDR=192.168.1.111
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
USERCTL=no
EOF
#创建桥接网卡br0配置文件
cat>ifcfg-br0 <<-EOF
DEVICE="br0"
BOOTPROTO=none
IPV6INIT=no
NM_CONTROLLED=no
ONBOOT=yes
TYPE="Bridge"
IPADDR=192.168.1.111
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
USERCTL=no
EOF
#docker启用br0设置
cat>/etc/sysconfig/docker-network <<-EOF
# /etc/sysconfig/docker-network
DOCKER_NETWORK_OPTIONS="-b=br0"
EOF
#备份DNS文件
cp /etc/resolv.conf{
,.bak}
cat /etc/resolv.conf
#git下载pipework
git clone https://github.com/jpetazzo/pipework
\cp pipework/pipework /usr/local/bin/
#网络重启dns归还
/etc/init.d/network restart
\cp /etc/resolv.conf.bak /etc/resolv.conf
#启动docker服务,查看服务是否启动
systemctl start docker
ps -ef|grep docker
执行结果
Cloning into 'pipework'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100