跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

Docker 部署 SpringBoot 项目拉取 JDK 镜像报错解决方案

Docker 部署 SpringBoot 项目拉取 openjdk:8-jdk-alpine 镜像时因镜像加速器返回 403 错误导致构建失败。根本原因包括镜像源权限不足及官方 Alpine 版本停止维护。通过修改 /etc/docker/daemon.json 配置新的 registry-mirrors 并重启 Docker 服务可解决该问题。

DevOpsTeam发布于 2025/11/28更新于 2026/7/2034 浏览
Docker 部署 SpringBoot 项目拉取 JDK 镜像报错解决方案

Docker 部署项目报错

1. 问题概述

最近在学习使用 Docker 部署 SpringBoot 项目,在部署过程中出现 Docker 去拉取 JDK 版本的时候报错。

[图片:Docker 构建报错截图]

1.1 具体错误信息:
[+] Building 21.2s (2/2) FINISHED docker:default =>[internal] load build definition from Dockerfile 0.0s
=>=> transferring dockerfile: 326B 0.0s
=> ERROR [internal] load metadata for docker.io/library/openjdk:8-jdk-alpine 21.2s
------
>[internal] load metadata for docker.io/library/openjdk:8-jdk-alpine: ------
Dockerfile:2 --------------------
1|# 使用官方 OpenJDK8 镜像
2|>>> FROM openjdk:8-jdk-alpine
3|
4|# 设置工作目录
--------------------
ERROR: failed to solve: openjdk:8-jdk-alpine: failed to resolve source metadata for docker.io/library/openjdk:8-jdk-alpine: unexpected status from HEAD request to https://2k9xnnig.mirror.aliyuncs.com/v2/library/openjdk/manifests/8-jdk-alpine?ns=docker.io: 403 Forbidden

Dockerfile 内容如下:

[图片:Dockerfile 内容截图]

**注意:**生产环境建议使用稳定版本,避免使用自动升级的标签。

1.2 错误分析:
ERROR: failed  solve: openjdk:-jdk-alpine: failed  resolve source metadata  docker.io/library/openjdk:-jdk-alpine: unexpected status  HEAD request  https://k9xnnig.mirror.aliyuncs.com/...:  Forbidden 
to
8
to
for
8
from
to
2
403
  1. 根本原因
    • Docker 配置了阿里云镜像加速器(2k9xnnig.mirror.aliyuncs.com)
    • 但该加速器返回了 403 禁止访问,说明镜像可能已被移除或权限不足
    • 原因解析:虽然在 /etc/docker/daemon.json 文件中配置了自己的阿里云镜像加速,但是由于镜像可能被移除也导致了去拉取该镜像时失败
  2. 背景情况
    • openjdk:8-jdk-alpine 官方已停止维护(OpenJDK 8 的 Alpine 版本已从 Docker Hub 移除)
    • 阿里云镜像仓库可能同步移除了该镜像
1.3 问题解决

排查发现 /etc/docker/daemon.json 文件中配置的镜像源存在问题,需要修改该文件中的 registry-mirrors 属性值,修改为如下:

"registry-mirrors": [
  "https://docker.registry.cyou/",
  "https://docker-cf.registry.cyou/",
  "https://dockercf.jsdelivr.fyi/",
  "https://docker.jsdelivr.fyi/",
  "https://dockertest.jsdelivr.fyi/",
  "https://mirror.aliyuncs.com/",
  "https://dockerproxy.com/",
  "https://mirror.baidubce.com/",
  "https://docker.m.daocloud.io/",
  "https://docker.nju.edu.cn/",
  "https://docker.mirrors.sjtug.sjtu.cn/",
  "https://docker.mirrors.ustc.edu.cn/",
  "https://mirror.iscas.ac.cn/",
  "https://docker.rainbond.cc/",
  "https://jq794zz5.mirror.aliyuncs.com"
]
1.4 修改步骤:

执行 vim /etc/docker/daemon.json 进入对应文件(如果不存在该文件,会自动创建该文件),输入 i 进入编辑模式,然后复制上述内容到文件中。

[图片:配置文件修改截图]

按 Esc 退出编辑模式,输入 :wq! 强制保存。

1.5 接下来就是重启 Docker
  • 重新加载配置:systemctl daemon-reload
  • 重启 Docker:systemctl restart docker
  • 查询配置是否生效:docker info

生效结果如下:

[图片:Docker 信息截图]

配置完成后再次部署服务即可成功。

[图片:部署成功截图]

目录

  1. Docker 部署项目报错
  2. 1. 问题概述
  3. 1.1 具体错误信息:
  4. 1.2 错误分析:
  5. 1.3 问题解决
  6. 1.4 修改步骤:
  7. 1.5 接下来就是重启 Docker
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Linux 进程地址空间与虚拟内存机制深度解析
  • Vue 3 前端调试与开发指南
  • Elasticsearch 架构原理深度剖析
  • Gemma-3-12B-IT 强化学习对齐与 RLHF 训练流程解析
  • SpringBoot 配置文件核心用法:Properties 与 YAML
  • Linux 基础命令与文件操作实战笔记
  • 基于 Figma、Claude 与 Weavy AI 的 UI 设计工作流实战
  • BFS 实现拓扑排序:原理与 LeetCode 实战
  • 大语言模型参数高效微调(PEFT)方法综述
  • 彻底关闭 Win10 中 Microsoft 365 Copilot 弹窗的 6 种方法
  • 算法实战:Z 字形变换与外观数列详解
  • C# 与 Python 在 AI 模型路由中的性能对比与选型指南
  • Python 面试高频题:从可变对象到垃圾回收机制
  • 前端交互式 3D 人体肌肉解剖图:Three.js + React Three Fiber 实战
  • AIGC 延迟优化实战:C++ 零拷贝与异步调度方案
  • GitHub Copilot Agent Skills 实战:打造跨项目 AI 专属工具箱
  • C++ 基于红黑树模拟实现 STL 的 map 和 set
  • PostgreSQL 常用操作指南
  • Qt 开源项目 VNote 源码解读 (一):核心类与主流程
  • 基于 OpenClaw 与 Open WebUI 的企业多部门 AI 平台部署指南

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online