其他分享
首页 > 其他分享> > springboot项目通过dockerfile打镜像

springboot项目通过dockerfile打镜像

作者:互联网

流程:

我们开发的项目,其实正常的流程应该是通过jenkins拉取gitlab上的代码,通过mvn install等命令构建jar包,一般是springboot/springcloud项目,通过mvn package,打成jar包,然后通过Dockfile,把jar包构建成镜像,再通过镜像进行容器启动

步骤:

路径

鉴于学习为目的,我手动上传了sms-admin-service-1.0-SNAPSHOT.jar,Dockerfile

在这里插入图片描述

Dockerfile配置信息:

大概意思:

从openjdk8的基础镜像,设置时区,拷贝这个jar包到容器的/opt/lcj下,暴露9898访问

#FROM openjdk:8u312-jdk
#FROM java:8
FROM openjdk:8-jdk-alpine
LABEL maintainer="liuchangjiang"

ENV TZ=Asia/Shanghai
ENV ARGS=""

RUN mkdir /opt/lcj
COPY /opt/jar/sms-admin-service-1.0-SNAPSHOT.jar /opt/lcj/sms-admin-service-1.0-SNAPSHOT.jar

EXPOSE 9898
ENTRYPOINT ["sh","-c", "java $ARGS -jar /opt/lcj/sms-admin-service-1.0-SNAPSHOT.jar"]


执行docker-build构建镜像

执行当前目录下的dockerfile, -t 指定镜像名字

docker build -f ./Dockerfile -t sms-admin .

构建成功:输出

Removing intermediate container 40551c911644
Successfully built 85b531f3c50d

docker images查看所有镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yEDTAFhI-1642154065427)(https://secure2.wostatic.cn/static/4QYY9f3MM7GZSqFXY1DRW6/image.png)]

启动容器:

-d 后台启动,-p 9898:9898 第一个是外部访问的端口,映射到docker的内部端口9898,—name指定容器名,镜像id

docker run -d -p 9898:9898 --name sms-admin 85b531f3c50d

查看启动的容器:docker ps

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-31ggcCDm-1642154065428)(https://secure2.wostatic.cn/static/rh6X3G38ZmE3Zup9js6ch8/image.png)]

开腾讯云/阿里云的安全组就可以访问了

我们就访问 →→→机器ip:9898就可以访问到我们的服务了

规范:

其实企业级的构建镜像流程是

1、jenkins拉取gitlab上的代码

2、通过maven进行install等命令构建jar包(流水线语法或者shell脚本)

3、拷贝jar包到docker的images里

4、推这个镜像到harbor

5、harbor根据推送过来的镜像,再推过去给腾讯云的TKE,进行k8s的集群管理、多节点部署等~

福利-docker命令:

删除某个镜像         docker rmi xxx  
删除某个容器         docker rm  xxx  
查看运行中的容器      docker ps      
查看所有容器         docker ps -a    
启动容器             docker run -d -p 访问端口:宿主机端口 --name 指定名称  镜像id     

标签:容器,sms,springboot,dockerfile,jar,镜像,docker,9898
来源: https://blog.csdn.net/weixin_44001799/article/details/122499504