一、场景

最近在折腾安装centos7,刚好有一些服务想直接用docker,每次安装都得找找教程。现在就自己写好教程,给以后备用。

二、环境

软件

版本

Centos

7

三、正文

3.1 前提

3.1.1 操作系统要求

要安装 Docker 引擎,您需要 CentOS 7、CentOS 8(流)或 CentOS 9(流)的维护版本。不支持或测试存档版本。
centos-extras必须启用存储库。这个库默认是启用的,但是如果你禁用了它,你需要 重新启用它
建议使用overlay2存储驱动程序。

3.1.2 卸载旧版本

旧版本的 Docker 被称为docker或docker-engine。如果安装了这些,要卸载它们以及相关的依赖项。

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

3.2 使用仓库安装

在新主机上首次安装 Docker Engine 之前,需要设置 Docker 存储库。之后,就可以从存储库安装和更新 Docker。

3.2.1 设置仓库

安装yum-utils包(提供yum-config-manager 实用程序)并设置仓库。

sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
3.2.2 安装 Docker 引擎
  1. 安装_最新版本_的 Docker Engine、containerd 和 Docker Compose 或转到下一步安装特定版本:
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

如果提示接受 GPG 密钥,请验证指纹是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果匹配,则接受。此命令安装 Docker,但不会启动 Docker。它还会创建一个 docker组,但是默认情况下不会向该组添加任何用户。

  1. 要安装_特定版本_的 Docker 引擎,先查出版本列表
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64            3:20.10.9-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.8-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.7-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.6-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.5-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.4-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.3-3.el7                    docker-ce-stable

通过其完全限定的包名称安装特定版本,即包名称 ( docker-ce) 加上版本字符串(第 2 列),从第一个冒号 ( 😃 开始,直到第一个连字符,由连字符 ( -) 分隔。例如,docker-ce-20.10.9

sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin

博主这边执行的是:

sudo yum install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io docker-compose-plugin

此命令安装 Docker,但不会启动 Docker。它还会创建一个 docker组,但是默认情况下不会向该组添加任何用户。

  1. 启动Docker
sudo systemctl start docker
  1. hello-world 通过运行映像验证 Docker 引擎是否已正确安装。、
sudo docker run hello-world

此命令下载测试图像并在容器中运行它。当容器运行时,它会打印一条消息并退出。

3.3 添加非root用户到docker群组

一般这样安装之后,我们使用必须是root用户或者有管理员权限。因为Docker 守护进程是绑定到 Unix 套接字,而不是 TCP 端口。默认情况下,root用户才能管理 Unix 套接字,其他用户只能使用 sudo。 Docker 守护进程始终以root用户身份运行。但是一般我们都是有创建非管理员用户的,不希望频繁地在命令前面加上 sudo。接下来是命令步骤:

  1. 创建docker群组
sudo groupadd docker
  1. 将用户添加到docker群组
sudo usermod -aG docker $USER
  1. 重启机器(虚拟机环境)或者执行以下命令将变更进行更新
newgrp docker
  1. 用添加的用户执行以下命令:
docker info

如果可以正常展示以下内容,即是正常的。

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.9.1-docker)
  compose: Docker Compose (Docker Inc., v2.12.2)
  scan: Docker Scan (Docker Inc., v0.21.0)

Server:
 Containers: 1
  Running: 0
  Paused: 0
  Stopped: 1
 Images: 1
 Server Version: 20.10.21

四、总结

顺利安装成功。