将Spring Boot程序打包成docker镜像

简介:

写了这多关于平台云的文章,其实我的平台云还没有搭建起来,但是我最终的目标是将spring boot运行于平台云当中。

 

我所知道我目前要学习的东西有CoreOS+Docker--这是平台云的基石。后面打算部署Deis或者flynn作为平台云。

 

不管怎么说,spring boot应用最终作为一种微服务运行于docker容器之中的。最后负载均衡也好,数据库也好,都是让平台云去做。

 

1、写一个简单的spring boot的例子。

使用STS新建一个spring boot项目,添加一点代码(其实就是访问“/”路径,返回字符串),整个代码见附件。

 

2、新建Dockerfile文件,内如如下:

Dockerfile代码   收藏代码
  1. FROM ubuntu:latest  
  2.   
  3. MAINTAINER wiselyman  
  4.   
  5. RUN apt-get update  
  6.   
  7. RUN apt-get install default-jre -y  
  8.   
  9. RUN apt-get install default-jdk -y  
  10.   
  11. RUN apt-get install maven -y  
  12.   
  13. ADD pom.xml /app/  
  14.   
  15. ADD src/ /app/src/  
  16.   
  17. WORKDIR /app/  
  18.   
  19. RUN mvn package  
  20.   
  21. EXPOSE  8080  
  22.   
  23. CMD ["java","-jar","target/spring-boot-docker-0.0.1-SNAPSHOT.jar"]  

 

3、我的windows上没有docker,上传到我的fedora上。



 

4、执行docker编译

Java代码   收藏代码
  1. docker build -t localhost:5000/spring-boot-docker .  

 

 不要使用下面命令,会导致到不到文件

Java代码   收藏代码
  1. docker build -t localhost:5000/spring-boot-docker - < Dockerfile  

 

5、查看编译好的镜像

Java代码   收藏代码
  1. docker images  

 

 

6、运行镜像

Java代码   收藏代码
  1. docker run -d --name spring-boot-docker -p 49163:8080 a6e9ac3638fa  

  查看状态

Java代码   收藏代码
  1. docker ps -a  

 

 

访问页面


目录
相关文章
|
6月前
|
XML 人工智能 Java
优化SpringBoot程序启动速度
本文介绍了三种优化SpringBoot启动速度的方法:1) 延迟初始化Bean,通过设置`spring.main.lazy-initialization`为true,将耗时操作延后执行;2) 创建扫描索引,利用`spring-context-indexer`生成@ComponentScan的索引文件,加速类扫描过程;3) 升级至最新版SpringBoot,享受官方性能优化成果。这些方法能显著提升程序编译与启动效率。
1493 0
|
3月前
|
存储 安全 Java
如何在 Spring Web 应用程序中使用 @SessionScope 和 @RequestScope
Spring框架中的`@SessionScope`和`@RequestScope`注解用于管理Web应用中的状态。`@SessionScope`绑定HTTP会话生命周期,适用于用户特定数据,如购物车;`@RequestScope`限定于单个请求,适合无状态、线程安全的操作,如日志记录。合理选择作用域能提升应用性能与可维护性。
179 1
|
9月前
|
JavaScript 前端开发 Java
Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use;端口冲突的原理与解决方案
本文解决了Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use的问题,并通过介绍端口的使用原理和操作系统的端口管理机制,可以更有效地解决端口冲突问题,并确保Web服务器能够顺利启动和运行。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
11月前
|
Java 测试技术 应用服务中间件
Spring Boot 如何测试打包部署
本文介绍了 Spring Boot 项目的开发、调试、打包及投产上线的全流程。主要内容包括: 1. **单元测试**:通过添加 `spring-boot-starter-test` 包,使用 `@RunWith(SpringRunner.class)` 和 `@SpringBootTest` 注解进行测试类开发。 2. **集成测试**:支持热部署,通过添加 `spring-boot-devtools` 实现代码修改后自动重启。 3. **投产上线**:提供两种部署方案,一是打包成 jar 包直接运行,二是打包成 war 包部署到 Tomcat 服务器。
310 10
|
12月前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
1553 1
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
482 3
|
前端开发 Java Docker
使用Docker容器化部署Spring Boot应用程序
使用Docker容器化部署Spring Boot应用程序
|
Java Docker 微服务
利用Docker容器化部署Spring Boot应用
利用Docker容器化部署Spring Boot应用
282 0
|
XML Java 数据格式
手动开发-简单的Spring基于注解配置的程序--源码解析
手动开发-简单的Spring基于注解配置的程序--源码解析
180 0
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
267 0

热门文章

最新文章