目录
一、环境说明与设置
服务器:腾讯云服务器 4核 32GB 20Mbps
系统版本: CentOS 8.2 64位
Docker版本:20.10.1
1、查看系统内核版本
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker
本文的命令使用的是 root 用户登录执行,不是 root 的话所有命令前面要加 sudo。
# 查看系统内核版本
uname -r
2、确认系统已更换国内源
换源的原因及方法推荐参考学习 《怎么给CentOS Linux 8更换国内源(阿里源) 》
文章出处链接:https://blog.youkuaiyun.com/dengshulei/article/details/103704285
更新 yum 包(使用 root 权限,生产环境中此步操作需慎重)
yum -y update
yum -y update 升级所有包同时也升级软件和系统内核
yum -y upgrade 只升级所有包,不升级软件和系统内核
更新提示:“错误:为仓库 ‘appstream’ 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist”
出现原因:CentOS Linux 8在2022年12月31日来到生命周期终点(End of Life,EoL),Linux社区已不再维护该操作系统版本,所以原来的CentOS Linux 8的yum源也都失效了!最终导致此问题的产生。
解决方案可参考: Centos安装宝塔提示"为仓库 ‘appstream’ 下载元数据失败"报错的解决方法
3、确认并卸载旧版本的 docker
若之前未安装过的,可直接忽略此步骤。
$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
二、安装流程
本文使用yum安装
在CentOS 上用yum安装软件时,默认将软件安装到了/etc目录下
1、安装软件包
安装需要的软件包
yum-util 提供yum-config-manager功能,另两个是device-mapper驱动依赖。
提示“完毕”则安装成功。
2、设置yum源
# 官方源地址(比较慢)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 可选择国内的源地址:
# (阿里云)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# (清华大学源)
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
设置源有可能因“没有配置正确的语言环境”等原因报错,可根据错误提示自行查阅相关文章
3、选择docker版本
查看可选的版本
yum list docker-ce --showduplicates | sort -r
若未设置yum源直接查看版本,则会提示 “错误:没有匹配的软件包可以列出”。
查看可见有多个docker版本,本文选择 3:20.10.1-3.el8
4、安装docker
yum install docker-ce-20.10.1 docker-ce-cli-20.10.1 containerd.io
安装过程2次询问“确定吗[y/N]”,输入 y 回车确认。
出现“完毕”提示,则安装完成。
三、验证安装结果
1、启动docker
## 启动
systemctl start docker
## 设置开机自启
systemctl enable docker
2、查看版本
docker version
-
若出现Server: Docker Engine - Community 的版本信息,则安装并启动成功。
-
若只显示Client: Docker Engine - Community 版本信息,则docker没有启动成功。
docker没启动成功,需查看Docker 服务的日志信息,了解启动过程中可能存在的问题,本文不过多论述。
3、查看docker服务状态
# 查看docker容器
docker ps - a
# 查看进程
ps -ef|grep docker
# 查看docker服务状态
systemctl status docker
服务活动状态显示 Active: active (running) ,则docker服务运行状态正常。
至此,安装docker完成。