在 CentOS 7.9 上安装 Docker 可以按照以下步骤进行。Docker 在 CentOS 上的官方安装方法是使用
yum
包管理器。以下是详细的步骤:
1. 更新系统
首先,确保你的系统是最新的。
sudo yum update -y
2. 安装必要的依赖
安装一些必要的依赖包,以便
yum
可以使用
https
方法。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3. 添加 Docker 的官方仓库
使用
yum-config-manager
添加 Docker 的官方仓库。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4. 安装 Docker CE
安装 Docker 社区版(Docker CE)。
sudo yum install -y docker-ce docker-ce-cli containerd.io
5. 启动并启用 Docker 服务
启动 Docker 服务,并设置开机自启。
sudo systemctl start docker
sudo systemctl enable docker
6. 验证 Docker 安装
运行一个简单的 Docker 容器来验证安装是否成功。
sudo docker run hello-world
如果一切正常,你应该会看到一条欢迎消息,说明 Docker 已经成功安装并运行。
7. (可选)将当前用户添加到
docker
组
默认情况下,只有 root 用户和
docker
组的用户可以运行 Docker 命令。为了方便,可以将当前用户添加到
docker
组。
sudousermod -aG docker $USER
然后注销并重新登录,使组更改生效。
8. (可选)配置 Docker 使用国内镜像源
为了加速 Docker 镜像的下载速度,可以配置 Docker 使用国内的镜像源。编辑 Docker 的配置文件
/etc/docker/daemon.json
,添加阿里云或其他国内镜像源。
sudomkdir -p /etc/docker
sudotee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://<your_mirror>.mirror.aliyuncs.com"]
}
EOF
将
<your_mirror>
替换为你的阿里云账号对应的镜像源。
9. 重启 Docker 服务
应用配置更改后,重启 Docker 服务。
sudo systemctl restart docker
10. 错误处理
错误一(主要更换软件源10.2):
Error downloading packages:
docker-buildx-plugin-0.14.1-1.el7.x86_64: [Errno 256] No more mirrors to try.
1:docker-ce-cli-26.1.4-1.el7.x86_64: [Errno 256] No more mirrors to try.
containerd.io-1.6.33-3.1.el7.x86_64: [Errno 256] No more mirrors to try.
遇到这样的错误通常意味着你的系统在尝试从指定的镜像源下载Docker相关包时失败了。这可能是由于多种原因造成的,包括但不限于网络连接问题、镜像源不可用或配置问题等。这里有一些可能的解决方案,你可以逐一尝试:
10.1. 检查网络连接
确保你的机器能够正常访问互联网。如果使用的是代理服务器,请确保已经正确配置了代理设置。
10.2. 更换软件源
有时候默认的软件源可能会出现问题,导致无法下载。你可以考虑更换为其他可用的镜像源,例如阿里云、腾讯云或华为云提供的镜像源。具体操作如下:
- 打开终端。
- 进入Docker的yum仓库配置文件目录,通常是
/etc/yum.repos.d/
。 - 编辑或创建一个
.repo
文件,比如docker-ce.repo
。 - 添加或修改以下内容(以阿里云为例):
[docker-ce-stable]name=Docker CE Stable - $basearchbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
10.3. 清理缓存
有时候yum缓存中的数据可能会导致问题。可以尝试清理yum缓存后重试安装:
sudo yum clean all
sudo yum makecache
10.4. 重新安装
如果上述步骤都不能解决问题,可以尝试先卸载已有的Docker包,再重新安装:
sudo yum remove docker-ce docker-ce-cli containerd.io
sudo yum install -y docker-ce docker-ce-cli containerd.io
10.5. 检查系统兼容性
确保你的操作系统版本与试图安装的Docker版本兼容。对于CentOS 7,确保你的系统是最新的,可以通过运行
sudo yum update
来更新你的系统。
如果以上方法都无法解决问题,建议查看Docker官方文档或者社区论坛,看看是否有类似的问题报告以及相应的解决方案。希望这些建议对你有所帮助!
错误二(主要是配置镜像源10.2):
(base) [root@VM-223-8-centos docker]# sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.
你遇到的问题是 Docker 在尝试从 Docker Hub 下载
hello-world
镜像时超时了。这可能是由于网络问题或防火墙限制导致的。以下是一些解决方法:
10.1. 检查网络连接
确保你的服务器能够访问互联网。你可以尝试 ping 一些外部网站来测试网络连接:
ping -c 4 google.com
10.2. 配置 Docker 使用国内镜像源
使用国内的 Docker 镜像源可以显著提高下载速度并减少超时的可能性。以下是一些常见的国内镜像源配置方法:
阿里云镜像源
- 创建或编辑 Docker 配置文件
/etc/docker/daemon.json
:sudomkdir -p /etc/dockersudotee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://<your_mirror>.mirror.aliyuncs.com"]}EOF
将<your_mirror>
替换为你在阿里云控制台中获得的镜像源地址。
腾讯云镜像源
sudomkdir -p /etc/docker
sudotee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF
其他镜像源
你也可以使用其他国内镜像源,例如:
- 清华大学镜像源:
https://mirrors.tuna.tsinghua.edu.cn/docker-ce
- 网易镜像源:
http://hub-mirror.c.163.com
10.3. 重启 Docker 服务
配置完成后,重启 Docker 服务以应用更改:
sudo systemctl restart docker
10.4. 再次尝试运行
hello-world
镜像
sudo docker run hello-world
10.5. 检查防火墙和安全组设置
确保你的防火墙和安全组设置允许 Docker 访问外部网络。你可以临时禁用防火墙来测试:
sudo systemctl stop firewalld
如果问题解决了,你可以重新启用防火墙并配置允许 Docker 访问的规则:
sudo systemctl start firewalld
10.6. 检查 DNS 配置
确保你的 DNS 配置正确。你可以编辑
/etc/resolv.conf
文件,添加一些可靠的 DNS 服务器,例如 Google 的公共 DNS:
nameserver 8.8.8.8
nameserver 8.8.4.4
10.7. 检查 Docker 日志
如果以上方法都无法解决问题,可以查看 Docker 的日志以获取更多信息:
sudo journalctl -u docker
通过以上步骤,你应该能够解决 Docker 下载镜像超时的问题。
总结
通过以上步骤,你可以在 CentOS 7.9 上成功安装并配置 Docker。
版权归原作者 曦云沐 所有, 如有侵权,请联系我们删除。