Docker制作springboot运行应用镜像
1.定义Dockerfile
这里fast-testing.jar是提前编译打包好的,代码工程已经放至gitee上
fast-testing源码
注意:fast-testing.jar与Dockerfile在同一级目录
# 镜像模板
# FROM openjdk:8u342
FROM openjdk:17.0.2# 环境变量设置
ENV JAR=fast-testing.jar # springboot可运行jar
ENV DEPLOY_PATH=/opt# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmpRUN mkdir -p $DEPLOY_PATH# 传包
COPY $JAR $DEPLOY_PATHWORKDIR $DEPLOY_PATHRUN sh -c 'touch $DEPLOY_PATH/$JAR'
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -jar $DEPLOY_PATH/$JAR"]
2.定义Dockermake.sh
包含镜像构建、镜像上传至指定私服
#!/bin/bash
#pomver=`mvn help:evaluate -Dexpression=project.version | sed -n -e '/^\[.*\]/ !{ /^[0-9]/ { p; q } }'`
#pomver=`mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive exec:exec`
# tag版本号
version=latest
#commit=`git rev-parse --verify --short=8 HEAD`
#branch=`git branch | grep "^\*" | sed -e "s/^\*\ //"`# nexus docker 私服
docker build -t docker.xxx.io/fast-testing:$version --no-cache=true .
docker login -u 你docker私服账号 -p 你docker私服账号的密码 docker.xxx.io
docker push docker.xxx.io/fast-testing:$version#harbor私服
#echo "你的harbor账号的密码" | docker login --username 你的harbor账号 --password-stdin https://harbor.xxx.com.cn
#docker build -t harbor.xxx.com.cn/fast-testing:$version --no-cache=true .
#docker push harbor.xxx.com.cn/fast-testing:$version
授权Dockermake.sh
chmod +x Dockermake.sh
3. k8s相关学习
Kubernetes 1.25.4版本安装_V胡桃夹子的CSDN博客
kubeasz安装kubernetes1.25.5_V胡桃夹子的CSDN博客
CentOS8搭建nfs服务_V胡桃夹子的CSDN博客
k8s一键安装redis单机版_V胡桃夹子的CSDN博客
k8s一键安装mysql8单机版_V胡桃夹子的CSDN博客
k8s部署springboot应用_V胡桃夹子的CSDN博客