通过本地私有的镜像仓库harbor解决网络原因导致的jdk无法加载而造成的docker打包错误

​各种网络原因,或是docker.io无法访问,或是阿里的镜像源故障,导致java打包发布的时候报错,很影响代码发布的质量。

解决思路:墙出去把jdk下载下来,代码使用本地的harbor库进行引用,一劳永逸。此解决方法也适用于国外优质不频繁变动的镜像源的本地化使用。

解决方法

1. 墙出去,把需要的jdk下载到本地

docker pull openjdk:8-jdk-alpine

2.登录本地harbor仓库 hb.***.com , 记得harbor上创建项目 jdk

img

docker login -u [user] -p[password]  hb.***.com

3. image 打tag

docker tag [LOCAL_IMAGE]:[TAG] [HARBOR_DOMAIN]/[PROJECT]/[REPOSITORY]:[TAG]`
例:

docker tag openjdk:8-jdk-alpine hb.***.com/jdk/openjdk:8-jdk-alpine

4. docker push到harbor仓库

docker push [HARBOR_DOMAIN]/[PROJECT]/[REPOSITORY]:[TAG]
例:

docker push hb.***.com/jdk/openjdk:8-jdk-alpine

5. Dockerfile引用:

FROM hb.***.com/jdk/openjdk:8-jdk-alpine

NOTE

如果harbor是没有绑定域名,属于IP的情况,注意需要在docker daemon做一下ssl证书信任和镜像库注册。

daemon.json
{
 "insecure-registries": [
        "https://192.xxx.xxx.xxx"
     ],
  "registry-mirrors": [
    "https://192.xxx.xxx.xxx"
    ]
}
posted @ 2024-11-27 16:55  李济宏(Amadeus)  阅读(13)  评论(0编辑  收藏  举报