docker启用overlay网络
环境
两台服务器
ip地址
192.168.194.128
192.168.194.130
网卡名字都是
eno16777736
第1章 安装docker
1.1 配置docker的yum源安装指定的docker版本
卸载原来安装的docker
dockerrpm -e --nodeps rpm -qa|grep docker
为了可以选择性安装docker版本请按照如下方法配置docker的yum源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
或者
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
1.2选择对应的docker版本安装查看docker可用版本
yum list docker-ce --showduplicates | sort -r
1.3 安装特定版本docker
yum -y install docker-ce-18.09.0 docker-ce-cli-18.09.0
第2章 Linux CentOS内核升级
2.1 说明
docker需要升级下内核到3.12+
2.2 服务器参数
操作系统:CentOS 7.4 64位
当前内核版本:Linux 3.10.0
2.3 ELRepo
ELRepo是一个为Linux提供驱动程序和内核映像的存储库。
这里的升级方案就是采用ELRepo提供的内核通道。
ELRepo官网:http://elrepo.org/tiki/tiki-index.php
第3章 升级内核
3.1 当前内核版本
说明:可以看到当前服务器的内核版本为3.10.0,Linux提供的内核信息可以访问此网站:https://www.kernel.org/
$ uname -mrs
Linux 3.10.0-693.2.2.el7.x86_64 x86_64
3.2 导入ELRepo公钥
$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
3.3 安装ELRepo
说明:因当前服务器的操作系统为CentOS7.4,所以采用此安装包。其他操作系统版本安装方式可去ELRepo官网查看。
$ yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
3.4 查看ELRepo提供的内核版本
$ yum --disablerepo="" --enablerepo=“elrepo-kernel” list available
显示:
kernel-lt:表示longterm,即长期支持的内核;当前为4.4.。
kernel-ml:表示mainline,即当前主线的内核;当前为5.2.*
3.5 安装kernel-lt内核
$ yum --disablerepo=’*’ --enablerepo=elrepo-kernel install kernel-lt
3.6 查看启动器
$ awk -F’ ‘$1=="menuentry " {print i++ " : " $2}’ /etc/grub2.cfg
0 : CentOS Linux (4.4.186-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-957.27.2.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core)
3.7 设置默认启动为新内核
$ grub2-set-default 0
3.8 重启
说明:重启后发现内核版本已变更为 4.4.186。
$ reboot
$ uname -mrs
Linux 4.4.186-1.el7.elrepo.x86_64 x86_64
第4章 docker启用overlay网络
4.1 要求
1、宿主机主机名不能一样
2、宿主机内核支持vxlan,最好是3.12+
3、数据库
4.2在其中一台宿主机上启动consul容器
docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap
4.3修改两台宿主机的配置文件
vim /usr/lib/systemd/system/docker.service
[Service]
ExecStart=/usr/bin/dockerd -H unix:// –cluster-store=consul://192.168.194.128:8500 --cluster-advertise=eno16777736:2376
斜体部分为新加的配置
重新加载配置
systemctl daemon-reload
systemctl restart docker
4.4创建overlay网络
docker network create -d overlay ov-net1
4.5启动容器测试
宿主机1启动
docker run -it --name bu1 --network ov-net1 busybox
宿主机2启动
docker run -it --name bu2 --network ov-net1 busybox