Centos8上安装Docker

需求驱动

为什么已经写过docker安装了,还要再写一遍?这个嘛。。。因为上次是centos7搭建服务,这次是centos8,开发组要求centos8上面验证。这次,就是踩坑的过程,值得你拥有。

Docker版本要求

1、要求 CentOs 系统的内核版本高于 3.10,可通过如下指令查看版本

uname -r

卸载docker,并更新yum

sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
sudo yum remove -y docker-*
sudo yum update
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast

出现如下错误:

yum makecache: error: argument timer: invalid choice: ‘fast’ (choose from ‘timer’)
在这里插入图片描述更新索引的时候出错,即centos8没有该参数,解决办法为:去掉fast参数
在这里插入图片描述

查看仓库版本,并指定版本安装

yum list docker-ce --showduplicates | sort -r

在这里插入图片描述

yum install docker-ce-3:18.09.9-3.el7.x86_64

出现如下错误:
Problem: package docker-ce-3:18.09.9-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
在这里插入图片描述
根据提示,需要containerd.io的版本 >= 1.2.2-3,操作如下:

(1)安装wget指令

yum install wget

(2)获取rpm包

wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

(3)升级containerd.io(安装rpm包)

yum -y install containerd.io-1.2.6-3.3.el7.x86_64.rpm

(4)重新安装docker-ce
在这里插入图片描述

启动docker

(1)设置开机自启动

sudo systemctl start docker
sudo systemctl enable docker

(2)启动

sudo systemctl start docker

(3)验证

sudo docker ps

出现以下报错:
[root@localhost ~]# docker ps
Error response from daemon: client version 1.40 is too new. Maximum supported API version is 1.39

此时,重新卸载,接着重新安装(上面的方式在centos7不会又该问题)。安装docker-ce指令修改如下:

yum -y install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm
yum install -y docker-ce-3:18.09.9-3.el7.x86_64 docker-ce-cli-1:18.09.9-3.el7.x86_64

重新验证如下:
在这里插入图片描述

配置仓库

(1)配置仓库

vim /etc/docker/daemon.json

私有仓库格式为:
{
“insecure-registries”:[“ip:端口”],
“registry-mirrors”: [“域名”]
}

(2)重启生效

systemctl restart docker.service

猜你喜欢

转载自blog.csdn.net/weixin_43431593/article/details/106238563