当前位置: 首页 > news >正文

【超级推荐的镜像仓库】镜像拉取失败解决方案总结

镜像拉取失败解决方案总结

宝藏国内镜像速器仓库

问题背景

由于 Docker Hub 访问限制,直接docker pull openjdk:8-jre-slim失败,提示403 Forbidden或连接超时。


【核心流程图】

解决方案:使用华为云镜像服务

步骤1:从华为云镜像仓库拉取

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openjdk:8-jre-slim-linuxarm64

来源说明:该镜像由华为云容器镜像服务托管,是 Docker Hub 官方镜像的完整副本,支持多平台(包括 linux/arm64)。


步骤2:重新打标签为官方名称

docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openjdk:8-jre-slim-linuxarm64 docker.io/openjdk:8-jre-slim

原理:通过docker tag命令将长名称的镜像重命名为短名称,后续 Dockerfile 中的FROM openjdk:8-jre-slim即可直接使用本地镜像,无需修改 Dockerfile。


步骤3:验证本地镜像

docker images|grepopenjdk

预期输出

docker.io/openjdk 8-jre-slim 252e7e45ba12 3 years ago 187MB

此时docker.io/openjdk:8-jre-slim已存在于本地,后续构建时会直接使用,不再尝试远程拉取。


完整一键脚本

cat>/root/scripts/pull-and-tag.sh<<'EOF' #!/bin/bash # 华为云镜像地址 HUAWEI_IMAGE="swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openjdk:8-jre-slim-linuxarm64" TARGET_IMAGE="docker.io/openjdk:8-jre-slim" echo "正在从华为云拉取镜像..." docker pull $HUAWEI_IMAGE echo "正在重新打标签..." docker tag $HUAWEI_IMAGE $TARGET_IMAGE # 删除冗长名称的镜像(可选) docker rmi $HUAWEI_IMAGE 2>/dev/null echo "✅ 完成!本地镜像已可用:" docker images | grep openjdk EOFchmod+x /root/scripts/pull-and-tag.shbash/root/scripts/pull-and-tag.sh

【版本适配问题】
确认问题:两个容器都因 ARM64 镜像在 AMD64 服务器上运行 而失败,exec format error 是典型特征。

必须修改基础镜像为 AMD64 版本,并补充启动命令:


修改后的 Dockerfile

# 基础镜像 - 使用华为云 AMD64 镜像 FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openjdk:8-jre-slim # 作者 MAINTAINER xiaofuge # 配置 ENV PARAMS="" # 时区 ENV TZ=PRC RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 添加应用 ADD target/chatgpt-api.jar /chatgpt-api.jar # 容器启动命令(必须添加) ENTRYPOINT ["java", "-jar", "/chatgpt-api.jar"]

修改说明

  1. 基础镜像:使用华为云 AMD64 镜像,避免 ARM64 架构不匹配
  2. 启动命令:补充ENTRYPOINT,否则容器启动后无默认进程会立即退出

应用修改并重新构建

# 1. 删除旧的 ARM64 镜像docker rmi 252e7e45ba12 openjdk:8-jre-slim fql18258486001/chatgpt-api# 2. 拉取 AMD64 镜像(如尚未拉取)docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openjdk:8-jre-slim# 3. 重新构建应用镜像docker build --pull=false -t fql18258486001/chatgpt-api:latest.# 4. 删除失败容器dockerrm-f chatgpt-api temp-build# 5. 重新运行docker run -p8080:8080 --name chatgpt-api -d fql18258486001/chatgpt-api

一键修改脚本

cat>/root/scripts/fix-dockerfile.sh<<'EOF' #!/bin/bash # 1. 备份原 Dockerfile cp Dockerfile Dockerfile.bak # 2. 创建新的 Dockerfile cat > Dockerfile <<'EOC' # 基础镜像 - 使用华为云 AMD64 镜像 FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openjdk:8-jre-slim # 作者 MAINTAINER xiaofuge # 配置 ENV PARAMS="" # 时区 ENV TZ=PRC RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 添加应用 ADD target/chatgpt-api.jar /chatgpt-api.jar # 容器启动命令 ENTRYPOINT ["java", "-jar", "/chatgpt-api.jar"] EOC echo "✅ Dockerfile 已修改!" echo "新基础镜像: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openjdk:8-jre-slim" echo "已添加启动命令: ENTRYPOINT" echo "请重新执行: docker build -t fql18258486001/chatgpt-api:latest ." EOFchmod+x /root/scripts/fix-dockerfile.shbash/root/scripts/fix-dockerfile.sh

执行后重新构建,即可解决exec format error问题并正常启动容器。

【三种方案对比决策图】

解决方案优势

100%成功:绕过 Docker Hub,不受网络限制
零配置:无需修改 Docker daemon.json
兼容性好:保持 Dockerfile 中FROM openjdk:8-jre-slim不变
速度快:华为云内网带宽,秒级下载(通常 < 30秒)
可复用:适用于所有 Docker Hub 官方镜像的华为云镜像


镜像资源网站

  • AIType镜像站:https://docker.aityp.com/
  • 华为云镜像仓库:https://swr.cn-north-4.myhuaweicloud.com/
  • DaoCloud镜像:https://docker.m.daocloud.io/

在这些平台搜索openjdk:8-jre-slim,找到对应的华为云镜像地址即可。

http://www.cnnetsun.cn/news/183446.html

相关文章:

  • 数字内容访问助手:Bypass Paywalls Clean全方位实战指南
  • 如何3分钟免费解锁付费内容:Bypass Paywalls Clean终极指南
  • NCM音乐格式终极转换指南:从加密到通用MP3的完整方案
  • 3步解锁ncmdump:轻松实现NCM转MP3的终极解决方案
  • 网易云NCM解密终极指南:3种简单方法快速转换音乐文件
  • 终极音乐解密工具:快速转换网易云NCM加密格式
  • 联想拯救者工具箱:解锁笔记本隐藏性能的智能管家
  • 如何安全使用AO3镜像?新手终极入门指南
  • 如何在Win10工控机上完成STLink驱动下载
  • 猫抓浏览器扩展:3步轻松捕获网页视频资源的终极指南
  • 写论文软件哪个好?实测 10 款后,这款凭 “学术安全感” 赢麻了![特殊字符]
  • 拯救者工具箱终极指南:小白也能轻松掌握的隐藏性能优化技巧
  • 如何实现智能内容解锁?终极免费阅读解决方案
  • 基于LabVIEW与Matlab script绘制电机、控制器、系统效率MAP图
  • ServiceWorker 的生命周期包含6种核心状态
  • 网易云NCM文件终极解密:从加密音乐到自由播放的完整方案
  • Betaflight与F4/F7飞控硬件兼容性:核心要点
  • 猫抓Cat-Catch资源嗅探工具完整教程:从新手到高手
  • 猫抓Cat-Catch:新手必学的网页视频下载全攻略
  • Expo CLI常用命令详解:完整指南
  • RePKG终极指南:5分钟掌握Wallpaper Engine资源提取与转换
  • 超星网课助手完整操作指南:告别手动刷课烦恼
  • 联想拯救者工具箱功能解析:7大特色功能深度探索与实践指南
  • 逆向工程深度解析:Wallpaper Engine资源格式完全解密指南
  • 【大模型开发效率提升10倍】:Open-AutoGLM开源实战指南
  • 拯救者工具箱:三步解锁联想笔记本隐藏性能的终极指南
  • Elasticsearch动态映射实践:手把手配置JSON自动识别
  • 智慧树学习插件:自动化播放技术深度解析与实战指南
  • Bypass Paywalls Clean技术深度解析:解锁信息自由的全新维度
  • RePKG终极指南:快速掌握数据包解析与纹理格式转换技术