选择哪个

Docker Engine 是 Docker 的核心引擎,用于在各种操作系统上运行容器;而 Docker Desktop 是针对开发人员提供的桌面应用程序,集成了 Docker Engine,并提供了更加用户友好的界面和一些附加功能。

对于生成环境,我们直接选择Docker Engine

通过命令查询系统的platform

cat /etc/*-release
CentOS Linux release 8.2.2004 (Core)

我这边的系统是CentOS,下面按CentOs的文档进行安装,其他系统可以按对应文档进行,我这边系统是8.xx 所以选择的时候应该现在8的哪个文件夹的rpm进行下载,不然可能会导致一些错误,比如系统版本里面的软件不支持,这一点需要注意。

怎么安装

有两种安装方式,想使用 rpm 存储库安装(Install using the rpm repository)的可以查看官方文档。我们选择从包安装 ,从这里选择 https://download.docker.com/linux/centos/ 对应的版本下载rpm,我这边选择的是 https://download.docker.com/linux/centos/8/x86_64/stable/Packages/

wget https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.6.28-3.1.el9.x86_64.rpm
wget https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-buildx-plugin-0.13.0-1.el8.x86_64.rpm
wget https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-25.0.4-1.el8.x86_64.rpm
wget https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-cli-25.0.4-1.el8.x86_64.rpm
wget https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-rootless-extras-25.0.4-1.el8.x86_64.rpm
wget https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-compose-plugin-2.24.7-1.el8.x86_64.rpm
wget https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-scan-plugin-0.23.0-3.el8.x86_64.rpm

我这里下载了7个,各位看官可以按需下载和安装。如果下面这个错误是因为版本下载不对导致,后续大家需要注意下,当然有一些依赖关系,大家可以根据具体的错误提示,进行修复。

Error: Problem: conflicting requests - nothing provides containerd.io >= 1.6.24 needed by docker-ce-3:25.0.4-1.el9.x86_64- nothing provides docker-ce-cli needed by docker-ce-3:25.0.4-1.el9.x86_64 - nothing provides libc.so.6(GLIBC_2.32)(64bit) needed by docker-ce-3:25.0.4-1.el9.x86_64 - nothing provides libc.so.6(GLIBC_2.34)(64bit) needed by docker-ce-3:25.0.4-1.el9.x86_64 (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
sudo yum install containerd.io-1.6.28-3.1.el8.x86_64.rpm
sudo yum install docker-ce-25.0.4-1.el8.x86_64.rpm
sudo yum install docker-ce-cli-25.0.4-1.el8.x86_64.rpm
sudo yum install docker-ce-rootless-extras-25.0.4-1.el8.x86_64.rpm
sudo yum install docker-compose-plugin-2.24.7-1.el8.x86_64.rpm
sudo yum install docker-scan-plugin-0.23.0-3.el8.x86_64.rpm
sudo yum install docker-buildx-plugin-0.13.0-1.el8.x86_64.rpm

下面这个提示是因为 GLIBC版本太低了,通过命令:ldd --version 查看我的系统是ldd (GNU libc) 2.28,我这边得从新选择一个版本进行安装

nothing provides docker-ce-cli needed by docker-ce-3:25.0.4-1.el9.x86_64 - nothing provides libc.so.6(GLIBC_2.32)(64bit) needed by docker-ce-3:25.0.4-1.el9.x86_64 - nothing provides libc.so.6(GLIBC_2.34)(64bit) needed by docker-ce-3:25.0.4-1.el9.x86_64

安装完成后执行docker命令有类似下面的输出,说明安装成功了!

Usage: docker [OPTIONS] COMMAND A self-sufficient runtime for containers

如何启动

通过如下命令启动

sudo systemctl start docker

启动后通过下面命令查询是否启动成功

ps -ef | grep "docker"

有类似如下输出,则说明启动成功。

root 72893 1 2 12:09 ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock