资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Java

docker实战:springboot微服务打包Docker镜像

Java 更新时间: 发布时间: 计算机考试归档 最新发布

docker实战:springboot微服务打包Docker镜像

1 构建springboot项目
首先要搞一个springboot测试demo,这里面我们可以通过maven来获取工程的jar包,通过命令来启动jar包。

java -jar xxxx.jar


我把我自己生成springboot工程生成的jar包放到我的github上了,可以直接拿来用。

springboot工程测试demo的jar包

有了工程后,创建dockerfile文件

FROM java:8
 
COPY *.jar /app.jar
 
CMD ["--server.port=8080"]
 
EXPOSE 8080
 
ENTRYPOINT ["java", "-jar", "/app.jar"]

我们构建镜像

# 把打好的jar包和Dockerfile上传到linux
[root@iZ2zeg4ytp0whqtmxbsqiiZ idea]# ll
total 16140
-rw-r--r-- 1 root root 16519871 Aug 14 17:38 demo-0.0.1-SNAPSHOT.jar
-rw-r--r-- 1 root root      122 Aug 14 17:38 Dockerfile
 
# 构建镜像,不要忘了最后有一个点
[root@iZ2zeg4ytp0whqtmxbsqiiZ idea]# docker build -t zhangpeng233:1.0 .
Sending build context to Docker daemon  16.52MB
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
 ---> d4de8837ebf9
Step 3/5 : CMD ["--server.port=8080"]
 ---> Running in e3abc66303f0
Removing intermediate container e3abc66303f0
 ---> 131bb3917fea
Step 4/5 : EXPOSE 8080
 ---> Running in fa2f25977db7
Removing intermediate container fa2f25977db7
 ---> d98147377951
Step 5/5 : ENTRYPOINT ["java", "-jar", "/app.jar"]
 ---> Running in e1885e23773b
Removing intermediate container e1885e23773b
 ---> afb6b5f28a32
Successfully built afb6b5f28a32
Successfully tagged xiaofan666:latest
 
# 查看镜像
[root@iZ2zeg4ytp0whqtmxbsqiiZ idea]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
REPOSITORY     TAG                IMAGE ID       CREATED          SIZE
xiaofan666     latest             14ba6781e4d7   35 seconds ago   660MB
zhangpeng233   1.0                14ba6781e4d7   35 seconds ago   660MB
tomcat         latest             fb5657adc892   2 weeks ago      680MB
mysql          5.7                c20987f18b13   3 weeks ago      448MB
centos         latest             5d0da3dc9764   3 months ago     231MB
redis          5.0.9-alpine3.11   3661c84ee9d0   20 months ago    29.8MB
java           8                  d23bdf5b1b1b   4 years ago      643MB
 
# 运行容器
[root@iZ2zeg4ytp0whqtmxbsqiiZ idea]# docker run -d -P --name zhangpeng-springboot-web zhangpeng233:1.0
fd9a353a80bfd61f6930c16cd92204532bfd734e003f3f9983b5128a27b0375e
# 查看运行起来的容器端口(因为我们启动的时候没有指定)
[root@iZ2zeg4ytp0whqtmxbsqiiZ idea]# docker ps
ConTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
2f796aea25cf   zhangpeng233:1.0         "java -jar /app.jar …"   5 seconds ago   Up 4 seconds   0.0.0.0:49159->8080/tcp, :::49159->8080/tcp                                                zhangpeng-springboot-web
5403c5b14863   redis:5.0.9-alpine3.11   "docker-entrypoint.s…"   26 hours ago    Up 26 hours    0.0.0.0:6376->6379/tcp, :::6376->6379/tcp, 0.0.0.0:16376->16379/tcp, :::16376->16379/tcp   redis-6
cee733cd1128   redis:5.0.9-alpine3.11   "docker-entrypoint.s…"   26 hours ago    Up 26 hours    0.0.0.0:6375->6379/tcp, :::6375->6379/tcp, 0.0.0.0:16375->16379/tcp, :::16375->16379/tcp   redis-5
b096cefbed3f   redis:5.0.9-alpine3.11   "docker-entrypoint.s…"   26 hours ago    Up 26 hours    0.0.0.0:6374->6379/tcp, :::6374->6379/tcp, 0.0.0.0:16374->16379/tcp, :::16374->16379/tcp   redis-4
c3f4f5fff8ed   redis:5.0.9-alpine3.11   "docker-entrypoint.s…"   26 hours ago    Up 26 hours    0.0.0.0:6373->6379/tcp, :::6373->6379/tcp, 0.0.0.0:16373->16379/tcp, :::16373->16379/tcp   redis-3
00628a02d5cf   redis:5.0.9-alpine3.11   "docker-entrypoint.s…"   26 hours ago    Up 26 hours    0.0.0.0:6372->6379/tcp, :::6372->6379/tcp, 0.0.0.0:16372->16379/tcp, :::16372->16379/tcp   redis-2
7537a40922f6   redis:5.0.9-alpine3.11   "docker-entrypoint.s…"   26 hours ago    Up 26 hours    0.0.0.0:6371->6379/tcp, :::6371->6379/tcp, 0.0.0.0:16371->16379/tcp, :::16371->16379/tcp   redis-1

# 本地访问1
[root@iZ2zeg4ytp0whqtmxbsqiiZ idea]# curl localhost:49159
{"timestamp":"2020-08-14T09:42:57.371+00:00","status":404,"error":"Not Found","message":"","path":"/"}
# 本地访问2
[root@iZ2zeg4ytp0whqtmxbsqiiZ idea]# [root@iZ2zeg4ytp0whqtmxbsqiiZ idea]# curl localhost:49159/hello
zhang peng nb
# 远程访问(开启阿里云上的安全组哦)

以后我们使用了Docker之后,给别人交互的就是一个镜像即可

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/704559.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【docker实战:springboot微服务打包Docker镜像】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2