springBoot微服务打包成docker镜像

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
云原生网关 MSE Higress,422元/月
简介: 使用docker跑服务非常方便,不需要在服务实例上繁琐的安装运行环境,通过编写dockefile快速构建镜像,能够快速运行应用,开发首选

springBoot微服务打包成docker镜像

使用docker跑服务非常方便,不需要在服务实例上繁琐的安装运行环境,通过编写dockefile快速构建镜像,能够快速运行应用,开发首选

1、准备jar包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-flBRkpY9-1624332371447)(C:\Users\Meet\AppData\Roaming\Typora\typora-user-images\image-20210622102829673.png)]

2、编写DockerFile

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bWuubFFB-1624332371451)(C:\Users\Meet\AppData\Roaming\Typora\typora-user-images\image-20210622102919722.png)]

3、上传,build生成镜像

[root@VM-8-9-centos test]# ls
Dockerfile  test-0.0.1-SNAPSHOT.jar
[root@VM-8-9-centos test]# docker build -f Dockerfile  -t springboot-image
"docker build" requires exactly 1 argument.
See 'docker build --help'.

Usage:  docker build [OPTIONS] PATH | URL | -

Build an image from a Dockerfile
[root@VM-8-9-centos test]# docker build -f Dockerfile  -t springboot-image .
Sending build context to Docker daemon   17.6MB
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
 ---> 3a53cad9ae39
Step 3/5 : CMD ["--server.port=8080"]
 ---> Running in b53ca055dafd
Removing intermediate container b53ca055dafd
 ---> 3aa1b8767fea
Step 4/5 : EXPOSE 8080
 ---> Running in 20c50a75f15c
Removing intermediate container 20c50a75f15c
 ---> b8e7072c5ae8
Step 5/5 : ENTRYPOINT ["java","-jar","/app.jar"]
 ---> Running in 5edbe3e7a251
Removing intermediate container 5edbe3e7a251
 ---> d99e96e3c5dd
Successfully built d99e96e3c5dd
Successfully tagged springboot-image:latest

4、运行容器,访问

[root@VM-8-9-centos test]# docker images
REPOSITORY         TAG                               IMAGE ID       CREATED              SIZE
springboot-image   latest                            d99e96e3c5dd   About a minute ago   661MB
tomcat-image       1.0                               271418e6337f   36 hours ago         638MB
tomcat             9.0.48-jdk8-adoptopenjdk-openj9   d716ed54947b   5 days ago           386MB
redis              latest                            fad0ee7e917a   2 weeks ago          105MB
nginx              latest                            d1a364dc548d   3 weeks ago          133MB
mysql              8.0.25                            c0cdc95609f1   5 weeks ago          556MB
centos             latest                            300e315adb2f   6 months ago         209MB
java               8                                 d23bdf5b1b1b   4 years ago          643MB
[root@VM-8-9-centos test]# docker run -d -p 9999:8080 --name springboot-test springboot-image

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xIOTFeKg-1624332371453)(C:\Users\Meet\AppData\Roaming\Typora\typora-user-images\image-20210622103520607.png)]

相关文章
|
3月前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
193 24
|
3月前
|
运维 监控 Java
为何内存不够用?微服务改造启动多个Spring Boot的陷阱与解决方案
本文记录并复盘了生产环境中Spring Boot应用内存占用过高的问题及解决过程。系统上线初期运行正常,但随着业务量上升,多个Spring Boot应用共占用了64G内存中的大部分,导致应用假死。通过jps和jmap工具排查发现,原因是运维人员未设置JVM参数,导致默认配置下每个应用占用近12G内存。最终通过调整JVM参数、优化堆内存大小等措施解决了问题。建议在生产环境中合理设置JVM参数,避免资源浪费和性能问题。
164 3
|
3月前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
228 6
|
3月前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
228 5
|
4月前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
99 3
|
4月前
|
前端开发 Java Docker
使用Docker容器化部署Spring Boot应用程序
使用Docker容器化部署Spring Boot应用程序
|
4月前
|
Java Docker 微服务
利用Docker容器化部署Spring Boot应用
利用Docker容器化部署Spring Boot应用
82 0
|
2月前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
288 93
|
1月前
|
网络协议 API Docker
Docker+consul容器服务的更新与发现
通过本文的介绍,我们详细探讨了如何结合Docker和Consul来实现容器服务的更新与发现。通过Consul的服务注册和发现功能,可以高效地管理和监控容器化服务,确保系统的高可用性和可扩展性。希望本文能帮助您在实际项目中更好地应用Docker和Consul,提高系统的可靠性和管理效率。
65 23
|
1月前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
344 15