文章目录
- [Centos 安装 Docker Enginee](#Centos 安装 Docker Enginee)
Centos 安装 Docker Enginee
要在 Centos 安装 Docker Enginee,需要满足以下要求:
系统要求
- CentOS 7
- CentOS 8 (stream)
- CentOS 9 (stream)
另外,必须要启用 centos-extra
仓库。此仓库默认是启用的,如果你曾经禁用过,可以使用如下命令启用:
shell
yum install epel-release
卸载旧版本
使用以下命令卸载旧版本:
shell
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
如果没有这些旧的包,yum 可能会提示你如下内容,跳过即可。
No Match for argument: docker
No Match for argument: docker-client
No Match for argument: docker-client-latest
No Match for argument: docker-common
No Match for argument: docker-latest
No Match for argument: docker-latest-logrotate
No Match for argument: docker-logrotate
No Match for argument: docker-engine
No Packages marked for removal
清除存储在 /var/lib/docker/
目录下的旧数据,因为上面的操作不会自动移除这些内容。
有如下三种方式安装 Docker Enginee,你可以根据需要选择其中一个:
- (推荐)使用 Docker 的 Yum 仓库安装
- 下载 RPM 软件包然后手动安装,常用于无法联网的系统
- 在开发和测试环境,使用自动化安装脚本安装 Docker Enginee
使用 RPM 仓库
如果你是第一次在你正在使用的机器上安装 Docker,需要先设置 Docker 仓库。
设置 Docker 仓库
安装 yum-utils
包,yum-utils 提供了 yum-config-manager
工具,可以设置仓库:
shell
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装 Docker Enginee
-
安装 Docker Engine, containerd, and Docker Compose:
最新版
如果要安装最新版,直接执行以下命令即可:
shellsudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
指定版本
要安装指定版本,需要查询版本:
shellyum list docker-ce --showduplicates | sort -r docker-ce.x86_64 3:24.0.0-1.el8 docker-ce-stable docker-ce.x86_64 3:23.0.6-1.el8 docker-ce-stable <...>
接着安装指定版本的软件包:
shellsudo yum install docker-ce-24.0.6-1.el8 docker-ce-cli-24.0.6-1.el8 containerd.io docker-buildx-plugin docker-compose-plugin
解释一下
yum list docker-ce --showduplicates | sort -r
命令的结果:第一列是软件包的名称加上支持的处理器的位数,以英文点号
.
分隔第二列是软件包的版本
拼接方式软件包名称 +
-
+ 版本,例:docker-ce-
24.0.6-1.el8
注意官网说明是软件包名拼接上版本就是要安装指定版本的软件包,但经测试有时(对于 Docker、Nginx,其他软件未尝试。)会失败;比如安装 Docker 后启动 Docker 服务时会提示
Unit docker.service could not be found
等类似的错误。
解决方式拼接第二列的版本时,如果版本中有冒号,只需要拼接冒号后面的内容作为版本号。
-
启动 Docker
shellsudo systemctl start docker
-
通过
hello-world
镜像验证 Docker 是否安装成功:shellsudo docker run hello-world
此命令将下载
hello-world
镜像并启动一个容器。容器启动后将打印一行信息并退出。
升级 Docker Enginee
升级的方式同 安装 Docker Enginee
,只需要选择一个更新的版本来安装即可。
卸载 Docker
-
卸载 Docker Enginee、Docker Cli、containerd 和 Docker Compose:
shellsudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
-
镜像、容器以及卷不会自动删除,需要执行以下命令来删除它们:
shellsudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd