docker aertslab/pyscenic:0.12.1 拉取异常解决方案

这里写自定义目录标题

镜像拉取失败原因分析

  1. 权限问题 :初始尝试直接执行 docker pull 命令时,遇到了 Docker 守护进程套接字的权限错误:

    复制代码
    permission denied while trying to connect to the Docker daemon socket
  2. 代理配置问题

    • 第一次设置代理环境变量时,使用 sudo -E 传递环境变量的方式可能未被 Docker 服务正确接收
    • 创建的代理配置文件格式错误,包含多余的特殊字符和格式问题,导致系统无法正确解析
  3. 网络和镜像加速器问题

    • Docker 默认尝试使用多个镜像加速器(如 ustc、tencent、aliyun、baidu 等)
    • 这些加速器要么遇到 DNS 解析失败(no such host),要么被拒绝访问(This request is forbidden
    • 最终无法连接到 Docker Hub 官方仓库
  4. DNS 解析问题:从日志中可以看到多次出现 DNS 解析失败:

    复制代码
    dial tcp: lookup docker.mirrors.ustc.edu.cn on 127.0.0.53:53: no such host

解决方案

  1. 使用 sudo 权限 :确保使用 sudo 命令获取足够的权限来执行 Docker 操作

  2. 正确配置代理

    • 删除格式错误的代理配置文件

    • 使用正确的格式重新创建代理配置文件:

      bash 复制代码
      sudo rm /etc/systemd/system/docker.service.d/proxy.conf && \
      sudo bash -c 'cat > /etc/systemd/system/docker.service.d/proxy.conf << EOF
      [Service]
      Environment="HTTP_PROXY=http://127.0.0.1:7892"
      Environment="HTTPS_PROXY=http://127.0.0.1:7892"
      Environment="NO_PROXY=localhost,127.0.0.1"
      EOF'
  3. 重启 Docker 服务

    bash 复制代码
    sudo systemctl daemon-reload && sudo systemctl restart docker
  4. 直接指定 Docker Hub 仓库

    • 使用完整的镜像路径 docker.io/aertslab/pyscenic:0.12.1 拉取,绕过可能有问题的镜像加速器
  5. 验证代理可达性

    • 在开始操作前,先使用 curl -x http://127.0.0.1:7892 https://www.google.com -I 验证代理是否正常工作

最终结果

通过以上步骤,成功拉取了 aertslab/pyscenic:0.12.1 镜像,所有层均已下载完成,并在本地 Docker 仓库中验证了镜像的存在:

复制代码
aertslab/pyscenic                                                           0.12.1          4d3790890827   3 years ago    986MB

关键经验

  1. 代理配置正确性:确保代理配置文件格式正确,系统能够正确解析
  2. 服务重启:修改代理配置后,必须重启 Docker 服务使其生效
  3. 直接指定仓库:当镜像加速器出现问题时,直接使用 Docker Hub 官方仓库路径
  4. 权限管理 :Docker 命令通常需要管理员权限,使用 sudo 执行
  5. 网络验证:在执行关键操作前,验证网络和代理是否正常工作

这些步骤确保了即使在复杂的网络环境下,也能成功拉取所需的 Docker 镜像。

相关推荐
张忠琳6 小时前
【k3s】AutoK3s v0.9.3 Part 1 入口与 CLI 命令模块 — 超深度逐行分析之三
云原生·容器·kubernetes·k3s·autok3s
apgk111 小时前
基于Canal实现mysql数据同步到消息队列(RabbitMQ/Kafka)详细操作教程
docker·kafka·rabbitmq
fatcoder11 小时前
玩转Docker 06 — 容器网络
前端·后端·docker
xiaoxiangsiyan12 小时前
企业日常运维高频应用服务全解
运维·网络·云原生·容器·dns
AR_xsy12 小时前
docker--资源配额 配置
运维·docker·容器
国际云,接待13 小时前
Docker 容器突然退出、服务莫名重启:从 OOMKilled 到内存泄漏的生产排查手册
运维·docker·容器
橙-极纪元14 小时前
把docker的镜像文件从一台服务器中,迁移至另一台服务器
服务器·docker·容器
RobinDevNotes15 小时前
K8s+Ray+vLLM打穿大模型全生命周期(有实践步骤)
人工智能·云原生·容器·kubernetes·生活·vllm
雨声不在16 小时前
docker-android 重启后镜像起不来
android·docker·容器
AR_xsy17 小时前
k8s随笔-cordon排水
云原生·容器·kubernetes