将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  

 

 

访问页面


目录
相关文章
|
2月前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
55 3
|
2月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
52 2
|
2月前
|
Dubbo Java 应用服务中间件
深入探讨了“dubbo+nacos+springboot3的native打包成功后运行出现异常”的原因及解决方案
本文深入探讨了“dubbo+nacos+springboot3的native打包成功后运行出现异常”的原因及解决方案。通过检查GraalVM版本兼容性、配置反射列表、使用代理类、检查配置文件、禁用不支持的功能、查看日志文件、使用GraalVM诊断工具和调整GraalVM配置等步骤,帮助开发者快速定位并解决问题,确保服务的正常运行。
62 1
|
3月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
94 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
2月前
|
前端开发 Java Docker
使用Docker容器化部署Spring Boot应用程序
使用Docker容器化部署Spring Boot应用程序
|
2月前
|
Java Docker 微服务
利用Docker容器化部署Spring Boot应用
利用Docker容器化部署Spring Boot应用
55 0
|
3月前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
170 0
|
3月前
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
379 0
|
3月前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
261 2
|
13天前
|
Java 数据库连接 Maven
最新版 | 深入剖析SpringBoot3源码——分析自动装配原理(面试常考)
自动装配是现在面试中常考的一道面试题。本文基于最新的 SpringBoot 3.3.3 版本的源码来分析自动装配的原理,并在文未说明了SpringBoot2和SpringBoot3的自动装配源码中区别,以及面试回答的拿分核心话术。
最新版 | 深入剖析SpringBoot3源码——分析自动装配原理(面试常考)

热门文章

最新文章