1. 卸载旧版本Docker

  1. sudo yum remove docker \
  2. docker-client \
  3. docker-client-latest \
  4. docker-common \
  5. docker-latest \
  6. docker-latest-logrotate \
  7. docker-logrotate \
  8. docker-engine

2. 安装依赖包

  1. sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3. 设置稳定仓库

  1. # 仓库1(推荐)
  2. sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. # 仓库2(选)
  4. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4. 过滤测试版本

  1. # 关闭测试版本list(只显示稳定版)
  2. sudo yum-config-manager --enable docker-ce-edge
  3. sudo yum-config-manager --enable docker-ce-test

5. 安装Docker CE

说明:直接安装“yum install docker-ce docker-ce-cli containerd.io”,会抛出异常:“package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3”。正确的安装姿势如下:

1. 安装containerd.io

  1. sudo yum install -y https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm

2. 安装docker-ce、docker-ce-cli

  1. # ❶ 安装最新版本的docker-ce
  2. yum install docker-ce docker-ce-cli
  3. # ❷ 列举仓库中可提供的版本
  4. yum list docker-ce --showduplicates | sort -r
  5. # ❸ 安装指定版本的docker-ce
  6. yum install docker-ce-19.03.4 docker-ce-cli-19.03.4

6. 运行Docker

  1. sudo systemctl start docker
  2. sudo systemctl enable docker

7. Docker权限配置

Docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix socket属于root用户,因此需要root权限才能访问。所以需要创建用户组来访问和使用。

  1. # 添加docker用户组,如果docker用户组存在,则会提示“docker组已存在”
  2. sudo groupadd docker
  3. # 将当前用户(自定义用户,如:vagrant)添加至docker用户组中
  4. sudo gpasswd -a $vagrant docker # 检测当前用户(vagrant)是否已经在docker组中
  5. sudo gpasswd -a $USER docker # 若上述检测不存在,则可将当前用户(USER=vagrant)添加至docker组
  6. # 更新docker用户组
  7. newgrp docker

8. 验证

  1. sudo docker run hello-world
  2. sudo docker version

9. 卸载

  1. sudo yum remove docker-ce
  2. sudo rm -rf /var/lib/docker

总结

CentOS8安装Docker-19.03.x时,需要自己去下载安装“containerd.io”(CentOS8默认使用podman代替docker,所以需要手动下载安装“**containerd.io**”),如果执行Docker命令时提示权限问题,可能是没有将当前用户添加到Docker用户组里。

参考

CSDN:CentOS-8安装docker最新版19.03
https://blog.csdn.net/weixin_40251892/article/details/109140770