ERROR [internal] load metadata for docker.io/library/openjdk:8-jdk-alpine - Docker部署项目报错,拉取jdk镜像报错
Docker部署项目报错
1.问题概述
最近在只用学习使用docker部署一个springboot项目,使用的项目是ruoyi-vue,在部署过程中出现docker去拉取jdk版本的时候报错,错误如图:

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文件的内容如下:

**注意:**我使用的是可自动升级的一个jdk的版本openjdk:8-jdk-alpine,如果是生产环境建议使用稳定版本
1.2 错误分析:
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/...:
403 Forbidden
-
根本原因
-
Docker 配置了阿里云镜像加速器(
2k9xnnig.mirror.aliyuncs.com) -
但该加速器返回了 403 禁止访问,说明镜像可能已被移除或权限不足
原因解析:我虽然在
/etc/docker/daemon.json文件中配置了自己的阿里云镜像加速,但是由于镜像可能被移除也导致了去拉取该镜像时失败
-
-
背景情况
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.edu.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去部署服务,就可以成功了!

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)