基于docker部署spring boot应用程序

  目前的微服务发展的如火如荼,已是遍地开花。但随着微服务的发展,服务的运维有对开发者提出了新的要求,之前一般是通过maven打出jar包,而后又将jar包上传到相应的服务器,而后运行即可发布,但是随着服务的扩展,通过这种手动的方式发布程序会发现运维的代价会越来越多,尤其涉及到需要将同一个包部署很多的服务器上时,此时就需要替换手动的发布方式,提而代之的时虚拟技术,而其中的docker则是其中的佼佼者。本文,便时初级的基于docker进行打包的步骤,希望对大家有所帮助。

  首先,新建一个简单的spring boot项目,其中只有一个简单的controller方法,只是做docker发布后的简单测试,如下图所示:

   为了可以基于docker进行发布程序,需要在程序的根目录下新建Dockerfile文件,需要注意的是,文件的名称是Dockerfile。而后,在Dockerfile文件中写入如下内容:

FROM openjdk:11.0.2

VOLUME /tmp

ADD target/deploy-1.0-SNAPSHOT.jar deploy.jar

EXPOSE 88

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/deploy.jar"]
  1. 其中from 后面指定的是jdk的版本,例子中使用的是java 11,所以使用openjdk:11.0.2,如果是java8 的话,应该是java:8
  2. VOLUME 指定了临时文件目录为/tmp,其最终的结果是在主机的/var/lib/docker目录下创建了一个临时的文件,并链接到容器的/tmp.
  3. ADD 后面的是通过maven打包后的jar文件 部署到daocker下的deploy镜像,名字随意起,但一定要小写,否则无法会报错
  4. EXPOSE 暴漏的端口号
  5. ENTRYPOINT 执行项目deploy.jar

在项目的根目录下,进入cmd黑窗口,输入

docker build -t deploy .

需要注意的是,最后有一个.

执行后的效果如下:

执行完后,执行 docker images 命令, 可以发现刚才产生的镜像deploy,说明已经成功的产生的docker镜像。而后通过docker镜像便可以基于镜像启动容器了,起命令如下:

docker run -d -p 88:88 deploy

之后,基于docker的部署spring boot程序便成功了,可以访问http://loalhost:88/test/hello进行测试!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

面朝大海,春不暖,花不开

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值