ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

springboot项目通过dockerfile打镜像

2022-01-14 18:06:51  阅读:171  来源: 互联网

标签:容器 sms springboot dockerfile jar 镜像 docker 9898


流程:

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

步骤:

  • 打成jar包
  • 准备Dockerfile配置,构建镜像
  • docker images查看镜像是否生成
  • 然后进行启动容器
  • 开防火墙、安全组、是否正常访问

路径

鉴于学习为目的,我手动上传了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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有