2. docker安装
测试服务器版本信息,其他版本看具体情况参考(内核要求3.8以上)
CentOS Linux release 7.2.1511 (Core)
Linux 200 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
一. 下载docker安装包
地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
下载文件例如下
二. 修改yum源
安装docker可能会有大量的依赖项要更新,因此需要配置好一个可用yum源,用于自动更新相关插件
1. 下载yum repo文件
这里用的163源,其他版本或其他源自寻
http://mirrors.163.com/.help/CentOS7-Base-163.repo
2. 替换原源配置
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
cp CentOS7-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo
3. 更新yum缓存
yum clean all
-清除原缓存
yum makecache
-创建缓存
疑难: 内网环境如何处理yum源问题:
- 内网开通目标服务器和目标源地址的IP访问,实现目标机器对外网源的访问
- 自建源库,将相关依赖资源全部收集到内网自建库中使用
三. 安装docker
yum install containerd.io-1.4.4-3.1.el7.x86_64.rpm docker-ce-cli-20.10.4-3.el7.x86_64.rpm docker-ce-20.10.4-3.el7.x86_64.rpm docker-ce-rootless-extras-20.10.4-3.el7.x86_64.rpm
一~三. 前三步总结
这里还是用163源,上三步可以只用这一步
- 换base源,同上
- 安装yum-utils工具
yum install yum-utils
- yum库中添加docker库
yum-config-manager --add-repo http://mirrors.163.com/docker-ce/linux/centos/docker-ce.repo
或者直接将这个文件下载到/etc/yum.repos.d/docker-ce.repo
也可以 - 查看所有docker-ce版本
yum list docker-ce --show-duplicates
- 安装
yum install docker-ce
默认是最新版,上一条命令中就能看到
四. 后续
docker version
Client: Docker Engine - Community
Version: 20.10.4
API version: 1.41
Go version: go1.13.15
Git commit: d3cb89e
Built: Thu Feb 25 07:06:20 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.4
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 363e9a8
Built: Thu Feb 25 07:04:45 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.4
GitCommit: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
runc:
Version: 1.0.0-rc93
GitCommit: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
docker-init:
Version: 0.19.0
GitCommit: de40ad0
-
启动
systemctl start docker
-
开机启动
chkconfig docker on
或systemctl enable docker.service
-开启自启
chkconfig docker off
或systemctl disable docker.service
-关闭自启
chkconfig docker
或systemctl is-enabled docker.service
- 查看自启状态 -
SELinux(需要关闭)
- 查看状态
/usr/sbin/sestatus -v | grep SELinux
getenforce
- 临时操作
setenforce 0
设置SELinux 成为permissive模式
setenforce 1
设置SELinux 成为enforcing模式 - 永久关闭
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启
- 查看状态
-
关闭防火墙
systemctl stop firewalld
五、测试集群docker配置
vi /etc/docker/daemon.json
{
"data-root": "/var/lib/docker",
"insecure-registries": ["harbor.od.com"],
"bip": "172.20.200.1/24"
}
data-root
:修改docker的根目录,默认/var/lib/docker
修改docker.service 中的启动参数添加
--graph=/xxx
,也能修改docker数据目录
insecure-registries
:配置目标镜像库,允许insecure登录(http方式,否则默认https)
bip
:修改docker0
虚拟网卡的网段(小技巧:bip设置和node ip有映射关系,方便后期快速发现容器所处的node,如ip是172.20.200.xxx的容器我们就知道这是200节点上的容器)
后续kubernetes配置网络插件后,会有调整,bip由集群网络插件控制