仓库配置
建议使用镜像加速器
本文使用个人版演示
设置访问凭证(类似于一个docker账号)
加速器和凭证先在服务器上配置好;
创建命名空间
创建镜像仓库
我这里有两个仓库,weather仓库是我接下来演示过程中放置打包好的镜像的位置;jdk是我用来放置构建镜像过程中DockerFile需要的依赖镜像,比方说jdk8、jdk17;因为如果使用官方docker镜像,在阿里提供的打包机它的下载速度很慢,容易流水线触发失败;强烈建议自行上传依赖镜像;
制作镜像
撰写jdk的DockerFile文件
FROM centos:7.7.1908
MAINTAINER doubitv<doubitv@qq.com>
ADD jdk-17.0.4_linux-x64_bin.tar.gz /usr/local/src
WORKDIR /usr/local/src
ENV JAVA_HOME /usr/local/src/jdk-17.0.4
ENV PATH $JAVA_HOME/bin:$PATH
ENV CLASSPATH $JAVA_HOME/lib
在登录好docker账号的服务器上,撰写DockerFile文件,这里使用了官方CentOS:7作为基础镜像;(因为我之前已经构建过1.8并且正在使用了,所以这次用jdk17代替素材)
构建携带jdk17的基础镜像
改镜像名与镜像仓库命名规则一致
我这里没有一步到位,所以多了一个改镜像名的步骤
上传到阿里云个人镜像仓库
上传成功;
1、镜像制作过程中,我为了验证效果将一个jar包打包进去跑了一下,结果失败;原因是因为不同版本的JDK压缩包解压后的包名会不同,导致程序启动失败;
2、如果你的程序搭配了一些redis、mysql等需要外部连接,导致启动失败的自己挂network解决;我这里主要是为了验证镜像打包是否成功,并不是真正跑程序;
3、其实你也可以先下载官方openjdk然后再改名字上传阿里云,一样能用就行;但是镜像仓库在后面篇章依然有用到;