服务器安装docker
目前最新版本是26.0.0
如果曾经安装过docker,需要卸载掉。
卸载旧版本
-
如果服务器上安装过旧版本可以尝试如下命令卸载
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
你的服务器可能提示你这些包都没有被安装过,这是正常的不用在意。
然后自己决定要不要删除网络,volumes,镜像等东西。如果要删除执行如下命令
sudo rm -rf /var/lib/docker/
-
如果你服务器安装过比较新版本的docker,卸载命令如下
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx- plugin docker-compose-plugin docker-ce-rootless-extras
然后自己决定要不要删除网络,volumes,镜像等东西。如果要删除执行如下命令
sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
安装最新版本的docker
安装yum-utils(提供yum-config-manager功能),并设置存储库
sudo yum install -y yum-utils
# 国内使用阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum
# 我们在更新yum源或者出现配置yum源之后,通常都会使用yum makecache 生成缓存
# 这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度
yum makecache fast
官方网站的安装命令是这样的
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
Docker 社区版 (docker-ce
)、Docker 命令行接口 (docker-ce-cli
) 以及容器运行时 (containerd.io
) 这三个是必须安装的。
后面三个可以根据需求选择安装了。
-
docker-buildx-plugin: Buildx 是 Docker 的一个插件,它提供了构建 Docker 镜像的扩展功能。Buildx 支持使用 BuildKit 构建工具,提供了更多的构建性能和灵活性,例如构建多平台镜像、利用缓存机制提高构建速度等。
-
docker-compose-plugin: 这是 Docker Compose 的插件版本,用于定义和运行多容器 Docker 应用程序。通过一个 YAML 文件来配置应用服务,然后使用一个命令创建和启动所有服务。新版本的 Docker Compose 是作为 Docker 的插件而不是独立的二进制文件提供的。
-
docker-ce-rootless-extras: 是 Docker 的一个可选组件,它允许用户以非 root 用户身份运行 Docker 守护程序和容器。需要额外的配置
这里只安装前三个
sudo yum remove docker-ce docker-ce-cli containerd.io
启动之后,验证是否成功,能打印版本信息说明启动成功
systemctl start docker
docker version
安装指定版本的docker
安装yum-utils(提供yum-config-manager功能),并设置存储库
sudo yum install -y yum-utils
# 国内使用阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum
# 我们在更新yum源或者出现配置yum源之后,通常都会使用yum makecache 生成缓存
# 这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度
yum makecache fast
安装指定版本的docker首先要找到对应的版本号,比如我要安装 20.10.17。
yum list docker-ce --showduplicates | grep 20.10.17
# 可以看到如下输出
docker-ce.x86_64 3:20.10.17-3.el7 docker-ce-stable
-
".x86_64" 指的是系统架构,可以省略,包管理器会根据你的系统自动选择正确的架构
-
"3:" 是docker-ce软件包的纪元号,具体版本安装软件包时,通常可以省略纪元号,因为yum会处理好这部分
-
3.el7 是版本号号的一部分,不能省略。3 是包维护者给出的修订版本号,el7表示这个包是为 CentOS/RHEL 7(Enterprise Linux 7)构建的。
所以这个时候需要安装的包是 docker-ce-20.10.17-3.el7
然后找到 docker-ce-cli 对应的版本号
yum list docker-ce-cli --showduplicates | grep 20.10.17
docker-ce-cli.x86_64 1:20.10.17-3.el7 docker-ce-stable
然后最终的安装命令就是这样
sudo yum install docker-ce-20.10.17-3.el7 docker-ce-cli-20.10.17-3.el7 containerd.io
containerd.io不需要指定版本号,因为如果你安装了特定版本的 docker-ce
,包管理器将会解析并安装适合这个版本的 containerd.io