卸载旧版(如果有)
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine \docker-selinux
若没有:
检查网络:
ping 8.8.8.8
若网络通畅会出现下面的情况(ctrl+c可以退出):
如果yum源用不了或者想换yum源
备份默认的 CentOS 的 yum 源配置文件:
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
打开 CentOS-Base.repo 文件进行编辑:
(/etc/yum.repos.d/CentOS - Base.repo)是 CentOS 系统中 yum 软件包管理器的配置文件,用于定义软件源的位置、名称、是否验证软件包签名等信息。通过编辑这个文件,可以将默认的软件源替换为阿里云的软件源,这样在安装软件包时可以从阿里云的服务器上获取软件,通常可以获得更快的下载速度和更稳定的连接。
sudo vi /etc/yum.repos.d/CentOS-Base.repo
更改yum的配置:
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
yum配置的解释:
[base] 部分
- name=CentOS - $releasever - Base - mirrors.aliyun.com:
- 这是软件源的名称。$releasever是一个变量,会被系统自动替换为 CentOS 的版本号,例如 “7”。这个名称主要用于在 yum 命令的输出或者其他相关工具中显示软件源的标识,方便用户识别软件源的用途。
- baseurl=http://mirrors.aliyun.com/centos/
-
- basearch/:
- 这是软件源的基本 URL。$releasever和$basearch同样是变量,分别代表 CentOS 版本号和系统架构(如 x86_64)。这个 URL 指向阿里云服务器上存储 CentOS 基础软件包(Base)的目录。当执行 yum 命令安装软件时,yum 会从这个 URL 指定的位置查找并下载软件包。
- gpgcheck=1:
- 表示开启软件包签名验证。GPG(GNU Privacy Guard)签名用于验证软件包的完整性和来源真实性。当设置为 1 时,yum 会检查软件包的签名,确保软件包没有被篡改并且是由可信的源发布的。
- gpgkey=http://mirrors.aliyun.com/centos/RPM - GPG - KEY - CentOS - 7:
- 这是 GPG 公钥的位置。yum 在验证软件包签名时,会使用这个公钥来解密软件包中的签名信息,从而进行验证。公钥的正确配置对于系统安全非常重要,确保从正确的源获取软件包。
- [updates] 部分
- name=CentOS - $releasever - Updates - mirrors.aliyun.com:
- 软件源名称,用于标识 CentOS 系统更新(Updates)相关的软件源,名称中包含了阿里云的标识,方便识别。
- baseurl=http://mirrors.aliyun.com/centos/
-
- basearch/:
- 这是 CentOS 系统更新软件包的 URL。yum 在检查系统更新或者安装更新软件包时,会从这个位置获取软件。这个目录存储了 CentOS 官方发布的软件更新,包括安全更新、功能更新等。
- gpgcheck=1 和 gpgkey=http://mirrors.aliyun.com/centos/RPM - GPG - KEY - CentOS - 7:
- 作用与 [base] 部分相同,开启软件包签名验证并指定公钥位置,确保更新软件包的安全性和完整性。
- [extras] 部分
- name=CentOS - $releasever - Extras - mirrors.aliyun.com:
- 软件源名称,用于标识 CentOS 系统额外软件包(Extras)相关的软件源,同样带有阿里云标识。这些额外软件包通常包括一些非核心但很有用的软件,如一些工具软件、驱动程序等。
- baseurl=http://mirrors.aliyun.com/centos/
- basearch/:
- 这是 CentOS 系统额外软件包的 URL。yum 在安装额外软件包时会从这个位置获取软件。
- gpgcheck=1 和 gpgkey=http://mirrors.aliyun.com/centos/RPM - GPG - KEY - CentOS - 7:
- 作用与前面部分相同,确保额外软件包的签名验证和安全性。
清除 yum 缓存:
sudo yum clean all
建立 yum 缓存:
sudo yum makecache
检查是否有wget:
rpm -qa | grep wget
这个命令会列出系统中所有已经安装的 RPM 软件包,然后通过grep过滤出包含wget的行。如果wget已经安装,会显示wget软件包的名称和版本号,例如wget - 1.14 - 18.el7_6.1;如果没有安装,不会显示任何与wget相关的内容。
安装 wget(若没有):
sudo yum install -y wget
安装 yum-utils、device-mapper-persistent-data 和 lvm2:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加 Docker CE 的 yum 源:
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
修改 Docker CE 的 yum 源地址:
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
建立 yum 缓存(快速模式):
sudo yum makecache fast
安装 Docker CE 相关软件包:
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
启动 Docker 服务:
systemctl start docker
创建 /etc/docker 目录:
sudo mkdir -p /etc/docker
配置镜像:
设置 Docker 镜像加速地址并写入到 daemon.json 文件,配置镜像源(因为很多情况下镜像源可能用不了,不推荐):
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://自己的镜像源.mirror.aliyuncs.com"]
}
EOF
使用vim编辑器打开,多配置几个源(推荐):
sudo vim /etc/docker/daemon.json
目前可以使用的镜像加速器:
{"registry-mirrors": ["https://docker.1panel.dev","https://docker.fxxk.dedyn.io","https://docker.xn--6oq72ry9d5zx.cn","https://docker.m.daocloud.io","https://a.ussh.net","https://docker.zhai.cm","https://docker.1panel.live","https://hub.rat.dev"]
}
通知 systemd 守护进程重新加载其配置文件
sudo systemctl daemon-reload:
重新启动 Docker 服务:
sudo systemctl restart docker
查看 Docker 版本(查看是否安装成功):
docker -v
查看本地 Docker 镜像(有则说明配置成功):
//以下二选一
docker images
docker info