配置存储库安装

Docker官网推荐的安装方法,通常用于能访问外网的环境。

1、卸载旧的docker版本

  1. [root@test ~]# 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

image.png

2、配置存储库

这里是配置一个存储docker版本的仓库,并配置为稳定版本。

[root@test ~]# yum install -y yum-utils

[root@test ~]# yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

image.png

3、查看存储库中的docker版本

这里列出存储库中所有的docker版本,因为步骤2只配置了稳定版本,它只列出稳定版的所有版本。

[root@test ~]# yum list docker-ce --showduplicates | sort -r
image.png

4、安装Docker

安装最新版本的docker Engine和containerd。 安装完毕后会自动创建docker组,但没有用户添加到组。

[root@test ~]# yum install docker-ce docker-ce-cli containerd.io

5、启动Docker

[root@test ~]# systemctl start docker

6、测试Docker

[root@test ~]# docker run hello-world
image.png
至此,Docker安装完毕。

7、配置Docker自启动

[root@test ~]# systemctl enable docker.service
[root@test ~]# systemctl enable containerd.service

rpm包安装

通过下载rpm包,上传至服务器中,通常用于内网安装。

1、官网下载包

从官网进入到相关的CentOS版本中,进入相对应的CentOS版本路径,选择stable版本下载rpm包。 我这里使用此网址,CentOS7的stable版本:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

https://download.docker.com/linux/centos网址中,需要下载5个包,具体如下:

  • containerd.io
  • docker-ce
  • docker-ce-cli
  • docker-ce-rootless-extras
  • docker-scan-plugin

docker-ce、docker-ce-cli和docker-ce-rootless-extras这三个必须为同版本,其他两个下载高版本即可。

2、卸载旧的docker版本

[root@test ~]# sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

image.png

3、上传并安装rpm包

通过shell工具,将5个依赖包上传至/usr/local/src路径中。 安装完毕后会自动创建docker组,但没有用户添加到组。

[root@test src]# cd /usr/local/src/
[root@test src]# yum install *.rpm

4、启动Docker

[root@test src]# systemctl start docker

5、测试Docker

[root@test src]# docker run hello-world
image.png

6、配置Docker自启动

[root@test ~]# systemctl enable docker.service
[root@test ~]# systemctl enable containerd.service