Java程序打成镜像_超级小白超级简单之springboot项目打包成docker镜像并且运行

准备工作一个打包好的项目jar包

一个编写好的Dockerfile文件

当然,打包成docker环境就必须有一个docker环境啦,这里我的docker环境是放在centos中的

项目打jar包

这里我用的是idea,所以我这里说idea的项目打包方法

在mvn clean package # 使用Maven打包项目

6666bd363de410748c1ca9f9602d2b38.png

这里我打好的jar包被我重命名为gclient.jar

编写Dockerfile文件

这里我是这样编写的# 基于哪个镜像,需要用一个已有的镜像做载体来创建,这里我使用的java8镜像,如果大家的docker镜像中没有java8,它就会自动去下载

FROM java:8

# 将本地文件夹挂载到当前容器,指定/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录

VOLUME /tmp

# 添加自己的项目到 app.jar中 这里我是取了app.jar的名字,这个名字可以随便取的,只要后面几行名字和这个统一就好了

ADD gclient.jar app.jar

# 运行过程中创建一个app.jar文件

RUN bash -c 'touch /app.jar'

# 开放8761端口

EXPOSE 8761

# ENTRYPOINT指定容器运行后默认执行的命令

ENTRYPOINT ["java","-jar","/app.jar"]

#"-Djava.security.egd=file:/dev/./urandom" 这个我不知道是啥意思,这里我就去掉了

好Dockerfile编写也完成了改成这个镜像体积会变得更小,不过我没试过,有兴趣的可以试一试

FROM docker.io/jeanblanchard/alpine-glibc

把Dockerfile和gclient.jar放在同一个目录下面

这里我把这两个文件都放在了我的虚拟机下面的rpa文件夹下

e4066b25cac9aa4c13399cb088c8b1e3.png

创建镜像

在这个目录下运行命令docker build -t gclient .

这里注意,gclient只是我要起的一个名字,大家创建的时候名字可以随便写的好吧,上面的.我没有写错啊和创建的镜像的名字有一个空格的距离。

74f3a0471f64fb41a50d28539ecff17c.png

创建好的截图如上

运行容器

上面的Dockerfile中我写了我要开放的端口8761,但是我这个项目启动的时候要访问8080端口,所以我要运行这个容器就要这样写docker run -p 8761:8080 -d gclient

启动成功,这里-d就是以守护进程的方式运行,如果不加的话,就会出现如我下图显示的东西一样,这个时候按crtl + c就可以结束,所以加上-d

0990760e781f1233afdf7cf35ee9cc60.png

看docker容器日志我常用的两种方法

docker logs -f --tail 500 容器id 实时倒数500行日志,这个很实用

docker logs --since 5m 容器id容器倒数五分钟内的日志

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值