目标

在CentOS系统上安装Docker CE。

官方文档: 在 CentOS 上安装 Docker 引擎 |Docker 文档

操作系统要求

若要安装 Docker 引擎,需要以下版本之一的维护版本 CentOS 版本:

  • CentOS 7
  • CentOS 8( stream
  • CentOS 9( stream

必须启用存储库。此存储库由 违约。如果您已禁用它,则需要重新启用它。 centos-extras

安装命令全套

这是全套安装命令,适合在CentOS系统上安装Docker,放在这里方便使用。

#安装yum-utils
sudo yum install -y yum-utils

#设置稳定存储库
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安装最新版本的 Docker Engine
sudo yum install docker-ce docker-ce-cli containerd.io -y

#启动 Docker
sudo systemctl start docker

#设置开机启动
systemctl enable docker.service

一、卸载旧版本

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

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

如果 yum 报告没有安装这些软件包,那也没关系。

的内容 /var/lib/docker/ ,包括图像、容器、卷和网络,将被保留。Docker 引擎包现在被称为 docker-ce .

二、使用存储库安装

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

如果 没有设置镜像仓库 ,会有以下报错的提示。

没有可用软件包 docker-ce。
没有可用软件包 docker-ce-cli。
没有可用软件包 containerd.io。

设置存储库

安装 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

$ sudo yum install -y yum-utils
$ yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


三、安装 Docker 引擎

3.1 安装 最新版本 的 Docker Engine 和 containerd,或者进入下一步安装特定版本:

 sudo yum install docker-ce docker-ce-cli containerd.io -y

3.2 要安装 特定版本 的 Docker Engine,请在 repo 中列出可用版本,然后选择并安装:一种。列出并排序您的存储库中可用的版本。本示例按版本号对结果进行排序,从高到低,并被截断:

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

返回的列表取决于启用的存储库,并且特定于您的 CentOS 版本( .el7 在本示例中由后缀表示)。

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

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

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


3.3 启动 Docker。

$ sudo systemctl start docker


3.4 通过运行 hello-world 映像验证 Docker Engine 是否已正确安装。

$  sudo docker run hello-world

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

这将安装并运行 Docker 引擎。使用 sudo 运行泊坞窗命令。继续 Linux postinstall 以允许非特权用户运行 Docker 命令和其他可选配置步骤。

Docker及容器设置开机自启

首先对于docker 开机自启就和其他服务开机自启一样,对于linux centose而言:

设置开机启动:systemctl enable docker.service
关闭开机启动 systemctl disable docker.service

查看所有是否设置开机启动:
systemctl list-unit-files | grep enable

Docker 容器设置自启动:

容器自启动要看两种情况

1.新建容器时配置自启参数
docker run --restart=always 容器id 或 容器名称

2.已存在的容器配置自启
docker update --restart=always 容器id 或 容器名称

另外:
1)取消容器自启
docker update --restart=no 容器id 或 容器名称

2)批量设置容器自启
docker update --restart=always $(docker ps -aq)



参考文章: https://docs.docker.com/engine/install/centos/