要安装 Docker Engine,您需要以下 CentOS 版本之一的维护版本:
不支持或测试存档版本。
centos-extras 必须启用存储库。这个库默认是启用的,但是如果你禁用了它,你需要 重新启用它。
overlay2 建议使用存储驱动程序。
旧版本的 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如果报告没有安装这些软件包,那也没关系。
当您卸载 Docker 时,存储在其中的图像、容器、卷和网络/var/lib/docker/不会自动删除。
您可以根据需要以不同的方式安装 Docker Engine:
在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。
Tips:安装过程需要等待片刻,其中出现命令选择是否继续时输入y即可。
安装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
补充:
yum-utils 提供了 yum-config-manager ,device-mapper-persistent-data 和 lvm2提供了 device mapper 存储驱动程序。
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
使用官方的地址会比较慢,推荐使用国内的地址。
阿里云
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
清华大学源
sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
一、安装最新版本的 Docker Engine-Community 和 containerd
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
二、如果需要安装特定版本的Docker Engine-Community,需要先列出可用版本,选择特定版本安装
yum list docker-ce --showduplicates | sort -r
返回的列表取决于启用了哪些存储库,并且特定于您的 CentOS 版本(.el7
在此示例中由后缀表示)。
通过其完全限定的包名称安装特定版本,即包名称 ( docker-ce
) 加上版本字符串(第 2 列),从第一个冒号 ( :
) 开始,直到第一个连字符,由连字符 ( -
) 分隔。例如,docker-ce-17.09.1
。
替换
为所需的版本,然后运行以下命令进行安装:
sudo yum install docker-ce- docker-ce-cli- containerd.io docker-buildx-plugin docker-compose-plugin
三、执行完安装命令完成 Docker安装,但不会启动 Docker。它会创建一个 docker
组,默认情况下不会向该组添加任何用户。
要升级 Docker 引擎,请按照3.1使用仓库安装进行操作,选择要安装的新版本。
如果您不能使用 Docker 的存储库来安装 Docker,您可以下载 .rpm
适用于您的版本的文件并手动安装。每次升级 Docker Engine 时都需要下载一个新文件。
转到https://download.docker.com/linux/centos/并选择您的 CentOS 版本。然后浏览x86_64/stable/Packages/ 并下载.rpm您要安装的 Docker 版本的文件。
将下面的路径更改为您下载 Docker 包的路径。
sudo yum install /laq/rpm/docker-version.rpm
执行完命令,Docker 已安装但未启动。该docker
组已创建,但没有用户添加到该组。
要升级 Docker 引擎,请下载更新的包文件并重复 3.2RPM包安装的过程,使用yum -y upgrade
而不是yum -y install
,并指向新文件。
Tips:建议使用3.1和3.2的安装方式 。
Docker 在https://get.docker.com/上提供了一个方便的脚本, 用于以非交互方式将 Docker 安装到开发环境中。不建议将便利脚本用于生产环境,但它对于创建适合您的需求的供应脚本很有用。另请参阅 使用存储库安装步骤,了解使用包存储库进行安装的安装步骤。该脚本的源代码是开源的,您可以在 docker-installGitHub 上的存储库中找到它。
在本地运行脚本之前,请始终检查从 Internet 下载的脚本。在安装之前,让自己熟悉便利脚本的潜在风险和限制:
Tips:运行前预览脚本步骤您可以使用选项运行脚本--dry-run以了解脚本在调用时将运行哪些步骤:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh --dry-run
此示例从https://get.docker.com/下载脚本 并运行它以在 Linux 上安装最新稳定版本的 Docker:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
您现在已经成功安装并启动了 Docker 引擎。该docker 服务在基于 Debian 的发行版上自动启动。在RPMCentOS、Fedora、RHEL 或 SLES 等基础发行版上,您需要使用适当的systemctl或service命令手动启动它。如消息所示,默认情况下,非根用户无法运行 Docker 命令。
Docker 还在https://test.docker.com/上提供了一个脚本, 用于在 Linux 上安装 Docker 的预发布版本。此脚本等同于 中的脚本get.docker.com,但将您的包管理器配置为使用 Docker 包存储库的测试通道。测试通道包括 Docker 的稳定版和预发布版(测试版、候选发布版)。使用此脚本可以尽早访问新版本,并在它们作为稳定版本发布之前在测试环境中对其进行评估。
要从测试频道在 Linux 上安装最新版本的 Docker,请运行:
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
升级版本
如果您使用便捷脚本安装了 Docker,则应直接使用包管理器升级 Docker。重新运行便利脚本没有任何好处。如果它尝试重新安装主机上已经存在的存储库,则重新运行它可能会导致问题。
sudo systemctl start docker
此命令下载测试images并在容器中运行它。当容器运行时,它会打印一条确认消息并退出。
docker内置了一个镜像hello-word,可以使用该镜像验证是否正确安装了 Docker Engine-Community 。
sudo docker run hello-world
Docker Engine、CLI、containerd 和 Docker Compose 包
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
主机上的images、containers、volumes或自定义配置文件不会自动删除。
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
官网:Install Docker Engine on CentOS | Docker Documentation