SpringBoot 项目生成docker镜像文件

本文详细介绍了如何创建Dockerfile,基于Java8镜像构建SpringBoot应用镜像,打包项目为jar,制作并查看Docker镜像,以及如何运行和访问应用。主要步骤包括编写Dockerfile,打包项目,使用dockerbuild制作镜像,dockerimages查看镜像,dockerrun启动容器并进行端口映射。
摘要由CSDN通过智能技术生成

目录

1.创建 Dockerfile 文件,写入如下内容:

2.打包springboot项目为jar包

3.使用docker进行镜像的制作:

4. 通过docker images命令查看我们制作的镜像

5.运行镜像

6.访问网站验证


1.创建 Dockerfile 文件,写入如下内容:
FROM java:8

VOLUME /tmp

ADD febs_shiro_jwt-1.0.0-release.jar febs_shiro_jwt.jar

RUN bash -c 'touch /febs_shiro_jwt.jar'

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/febs_shiro_jwt.jar"]

参数说明:

  • FROM:表示已JDK8为基础镜像制作docker镜像
  • VOLUME:表示创建 /tmp 目录,并持久化到 Docker 数据文件夹。创建 /tmp 是因为SpringBoot内嵌的Tomcat容器默认使用 /tmp 作为工作目录
  • ADD:将容器外的 febs_shiro_jwt-1.0.0-release.jar 拷贝到容器中,并重命名为 febs_shiro_jwt.jar
  • RUN:RUN表示运行后面跟着的命令行命令,-c 表示将后面的内容作为一个字符串来统一执行,bash容器执行 -c 后面的命令,在 / 目录下创建一个 demo.jar 文件。需要注意的是,这里的 febs_shiro_jwt.jar 要和上一条ADD命令后面的 febs_shiro_jwt.jar 命名一致,表示将上一条命令添加到容器里的文件,创建在 / 目录下
  • ENTRYPOINT:容器启动时运行的命令,相当于我们在命令行中输入java -jar xxxx.jar,为了缩短 Tomcat 的启动时间,添加 java.security.egd 的系统属性指向 /dev/urandom 作为 ENTRYPOINT
2.打包springboot项目为jar包

打包好了jar包之后,假设为 febs_shiro_jwt-1.0.0-release.jar

febs_shiro_jwt-1.0.0-release.jar 和 Dockerfile 文件放到任意一个目录下,假设放到 /home/dockergz/myproject 目录下

3.使用docker进行镜像的制作:
docker build -t febs_shiro_jwt:latest(或者其他版本号,不加:latest默认为latest版本) 
/home/dockergz/myproject

参数说明:

  • build:表示制作镜像
  • -t:表示给镜像打个标签,相当于 docker tag 镜像ID 新镜像名:版本号
  • /home/dockergz/myproject:表示jar包和Dockerfile文件所在位置,如果是当前目录下,也可以用 . 表示

4. 通过docker images命令查看我们制作的镜像

5.运行镜像
docker run -itd --name febs_vue -p 8099:8099 -d febs_shiro_jwt

参数说明:

  • docker run:表示运行容器
  • –name:表示给容器起个别名叫febs_vue ,操作容器的时候可以使用别名来代替容器ID,方便容器的管理
  • -p:端口映射。将容器内部的8099端口映射到宿主机的80899端口。最后 febs_shiro_jwt 是要启动的镜像
  • -d:表示容器开启后台运行
6.访问网站验证

直接浏览器访问:

http://47.112.153.193:8099/login?username=leon&password=1234qwer

参考链接:

springboot项目制作docker镜像_青春有幸的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值