docker安装

https://docs.docker.com/engine/install/centos/
官方文档的 找到install chentos 安装
image
https://docs.docker.com/engine/install/centos/#installation-methods
image
image
image
image
image
docker配置失败
原因:
image
从错误提示 curl error (35): SSL connect error for https://download.docker.com/linux/centos/docker-ce.repoTCP connection reset by peer 来看,配置Docker仓库失败的核心原因是SSL连接异常,具体可从以下维度分析:

一、网络层面问题

  1. 网络连通性故障

    • 服务器无法访问外部网络(如DNS解析失败、路由中断),导致无法连接 download.docker.com
    • 防火墙/安全组限制了443端口(HTTPS默认端口)的出站请求,使SSL连接被阻断。
  2. 代理配置缺失(若存在代理环境)
    若服务器处于代理网络中,但未在 dnf 或系统环境变量中配置代理,会导致连接被代理服务器拒绝或重置。

二、SSL证书验证问题

  1. 系统时间错误
    Docker仓库的SSL证书有有效期,若服务器系统时间与实际时间偏差过大(如时区错误、时钟未同步),会导致证书有效期校验失败,触发SSL连接错误。

  2. CA证书不完整或过期
    系统缺少验证Docker仓库证书所需的根CA证书中间证书,导致无法完成SSL握手。CentOS系统的CA证书存储在 /etc/pki/tls/certs/ca-bundle.crt,若该文件损坏或未更新,会引发验证失败。

三、仓库服务端或配置问题

  1. 官方仓库临时不可用
    极少数情况下,Docker官方仓库可能因维护、限流等原因暂时拒绝连接,但概率较低。

  2. repo地址拼写错误
    虽然命令中URL是官方地址,但需确认是否因网络环境(如内网)导致URL无法访问(如替换为国内镜像源,如阿里云Docker镜像)。

排查与解决步骤

1. 测试网络连通性

# 检查DNS解析
ping download.docker.com  
# 详细测试SSL连接(查看具体错误阶段)
curl -v https://download.docker.com/linux/centos/docker-ce.repo  
  • ping 失败:检查网络配置(如 /etc/resolv.conf 的DNS服务器)、防火墙出站规则。
  • curl -v 显示“证书验证失败”:检查系统时间(date 命令),或更新CA证书:
    dnf install -y ca-certificates  # 更新CA证书包
    

2. 检查系统时间

timedatectl  # 查看当前时间和时区
# 若时间错误,同步时间:
timedatectl set-timezone Asia/Shanghai  # 设置时区(示例:上海)
timedatectl set-ntp true  # 开启NTP时间同步

3. 排查防火墙/SELinux

# 临时关闭防火墙测试(生产环境需谨慎,建议精确开放443端口)
systemctl stop firewalld  
# 临时关闭SELinux
setenforce 0  
# 重新执行dnf命令,若成功则需调整防火墙/SELinux策略:
# 防火墙开放443端口:
firewall-cmd --permanent --add-port=443/tcp  
firewall-cmd --reload  
# SELinux允许网络连接(若需):
setsebool -P httpd_can_network_connect 1  

4. 配置代理(若需)

/etc/dnf/dnf.conf 中添加代理(替换为实际代理地址):

proxy=http://proxy.example.com:8080
proxy_username=user  # 若需认证
proxy_password=pass

或通过环境变量临时配置:

export http_proxy=http://proxy:port
export https_proxy=https://proxy:port

5. 替换国内镜像源(备选方案)

若官方源长期访问困难,可改用阿里云Docker镜像源

  1. 创建 /etc/yum.repos.d/docker-ce.repo,内容如下:
    [docker-ce]
    name=Docker CE Repository
    baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
    enabled=1
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
    
  2. 执行 dnf clean all && dnf makecache 重建缓存。

通过以上步骤,可解决绝大多数因网络、证书、环境限制导致的Docker仓库配置失败问题。若仍报错,可结合 curl -v 的详细输出进一步定位(如代理证书、协议版本等更细节的SSL错误)。
结论:修改阿里云试试
image
image
image
image
image
image
image
image
无法hello world
image
从报错 net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 来看,Docker 拉取 hello-world 镜像时因网络超时失败。以下是核心原因及解决方法:

一、核心原因:网络访问受限

Docker 默认从 Docker Hub(国外服务器) 拉取镜像,国内网络存在以下问题:

  • 网络延迟高:跨国链路不稳定,导致请求超时。
  • 访问被限制:部分网络环境(如公司内网、防火墙)阻止了对 Docker Hub 的访问。

二、分步排查与解决

1. 检查 Docker 服务是否正常运行

虽然你执行了 systemctl start docker,但需确认服务状态:

systemctl status docker  # 查看服务状态,应为 "active (running)"

若服务未启动,重新启动并设置开机自启:

systemctl start docker
systemctl enable docker  # 避免下次开机需手动启动

2. 测试网络连通性

验证主机能否访问 Docker Hub:

ping www.docker.com  # 测试域名解析和网络连通
curl https://registry-1.docker.io/v2/  # 测试 Docker Hub API 访问
  • 若 ping 不通或 curl 无响应
    说明主机网络本身有问题(如虚拟机未联网、物理机断网),需先解决网络连接问题(如检查虚拟机网络模式、重启路由器等)。

3. 配置国内镜像加速器(关键解决方法)

国内镜像源(如阿里云、网易)可加速镜像拉取,绕过网络瓶颈。以 阿里云镜像加速器 为例:

获取专属加速地址
登录 阿里云容器镜像服务,复制你的专属 registry-mirrors 地址(需登录阿里云账号,免费)。

修改 Docker 配置
创建/编辑 Docker 配置文件 /etc/docker/daemon.json

sudo mkdir -p /etc/docker  # 若目录不存在则创建
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]  # 替换为你的加速地址
}
EOF

若没有阿里云账号,也可临时使用公共镜像源(如USTC):

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

重启 Docker 服务

sudo systemctl daemon-reload  # 重新加载配置
sudo systemctl restart docker  # 重启 Docker

4. 清理 Docker 缓存(可选)

若之前拉取镜像时发生中断,缓存可能损坏,可清理后重试:

docker system prune -a  # 删除未使用的镜像、容器、网络(注意:会删除所有未运行的资源,谨慎操作)

5. 查看 Docker 日志(深度排查)

若以上步骤仍失败,查看 Docker 守护进程日志,定位具体错误:

sudo journalctl -u docker  # 查看 Docker 服务日志,筛选网络相关报错

三、额外注意事项

  • 权限问题:若普通用户运行 docker 命令报错,需将用户加入 docker 组(或始终用 sudo):
    sudo usermod -aG docker $USER  # 添加当前用户到 docker 组,需重新登录生效
    
  • Docker 版本:若系统内置的 Docker 版本过旧,可参考 Docker 官方文档 升级到最新版。

按照以上步骤,90% 的 “拉取超时” 问题可通过 配置国内镜像源 解决。若仍失败,需结合日志判断是否为网络运营商限制、防火墙规则等更复杂的网络问题。
image
image
本地没有
所以:找第三方插件
https://dockerproxy.github.io/#/index
网速比较慢但是打的开
image
image
image
结论:有bug
a9bcc167b772dafb23fa3dfeb468dba3
image
拉取成功,nm复制有错别字导致失败
image

posted on 2025-08-06 11:22  爱尔奎特‘殷’  阅读(34)  评论(0)    收藏  举报