SpringBoot微服务项目打包成Docker镜像详解

SpringBoot微服务打包Docker镜像分为如下几步:

  • 构建springboot项目
  • 打包应用
  • 编写dockerfile
  • 构建镜像
  • 发布运行

一、构建SpringBoot项目

1、第一步创建一个springboot微服务项目
在这里插入图片描述
2、自定义名称
在这里插入图片描述
3、选择需要的Spring Web,然后next
在这里插入图片描述
4.编写一个Controller测试类
在这里插入图片描述
5、启动springboot项目
在这里插入图片描述
6、访问
在这里插入图片描述

二、打包应用

1、将项目打包
在这里插入图片描述
2、测试是否打包成功
在这里插入图片描述
3、将项目拿出来到window机器上测试
在这里插入图片描述

下载执行demo
在这里插入图片描述
测试成功!!! 则表示服务没有问题

三、在idea中编写dockerfile

1、在idea先下载dockerfile插件
在这里插入图片描述
apply下载插件,重启idea
在这里插入图片描述
2.此创建dockerfile它会高量
在这里插入图片描述

#基础镜像通过java8来的
FROM java:8
#将当前文件中所有*.jar  拷贝到项目的app.jar中(这个app.jar是自己生成的)
COPY *.jar /app.jar
#映射地址
CMD ["--server.prot=8080"]
#暴露端口
EXPOSE 8080
#执行命令java  -jar
ENTRYPOINT ["java","-jar","/app.jar"]

四、在linux中构建镜像

1、先创建一个用来build的目录

[root@slaves2 ~]# cd /home/
[root@slaves2 home]# mkdir idea
[root@slaves2 home]# cd idea/

2、上传Dockerfile和jar来创建的目录中
在这里插入图片描述
3、构建镜像

[root@slaves2 idea]# docker build -t idea_kuangren .
Sending build context to Docker daemon  17.04MB
Step 1/5 : FROM java:8
8: Pulling from library/java
5040bd298390: Pull complete 
fce5728aad85: Pull complete 
76610ec20bf5: Pull complete 
60170fec2151: Pull complete 
e98f73de8f0d: Pull complete 
11f7af24ed9c: Pull complete 
49e2d6393f32: Pull complete 
bb9cdec9c7f3: Pull complete 
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:8
 ---> d23bdf5b1b1b
Step 2/5 : COPY *.jar /app.jar
 ---> 8853aaaa23de
Step 3/5 : CMD ["--server.prot=8080"]
 ---> Running in e6a28bebdf4c
Removing intermediate container e6a28bebdf4c
 ---> bb696e4afb42
Step 4/5 : EXPOSE 8080
 ---> Running in a44bd92fec03
Removing intermediate container a44bd92fec03
 ---> 77d13935afba
Step 5/5 : ENTRYPOINT ["java","-jar","/app.jar"]
 ---> Running in e9d82c5d12d4
Removing intermediate container e9d82c5d12d4
 ---> dadde93171d4
Successfully built dadde93171d4
Successfully tagged idea_kuangren:latest
[root@slaves2 idea]# docker images
REPOSITORY      TAG       IMAGE ID       CREATED         SIZE
idea_kuangren   latest    dadde93171d4   2 minutes ago   660MB

五、发布运行

1、启动镜像生成容器

[root@slaves2 idea]# docker run -d -P --name kuangren-springboot-web idea_kuangren
659f1335dc902c9f91e77f0990471ab3804c82a6cd57009b1f246b6155980c6f

2、测试访问

[root@slaves2 idea]# docker ps
CONTAINER ID   IMAGE           COMMAND                  CREATED          STATUS          PORTS                     NAMES
659f1335dc90   idea_kuangren   "java -jar /app.jar …"   41 seconds ago   Up 40 seconds   0.0.0.0:49155->8080/tcp   kuangren-springboot-web
[root@slaves2 idea]# curl localhost:49155
{"timestamp":"2021-01-20T02:19:01.732+00:00","status":404,"error":"Not Found","message":"","path":"/"}
[root@slaves2 idea]# curl localhost:49155/hello
大数据狂神你好啊

以后使用docker之后,给别交付一个镜像即可!

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值