将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  

 

 

访问页面

时间: 2024-09-06 18:14:46

将Spring Boot程序打包成docker镜像的相关文章

将Spring Boot程序打包成docker镜像-超简版

将Dockerfile和你的spring boot编译好的jar放在一个目录底下   Dockerfile: Java代码   FROM ingensi/oracle-jdk:centos6-7u65      MAINTAINER wiselyman      ADD platform-0.0.1-SNAPSHOT.jar /app/      WORKDIR /app/      EXPOSE  8888      CMD ["java","-jar",&quo

如何将一个KVM的镜像如vmdk格式的镜像转成Docker镜像

问题描述 如题,有没有大神知道,是否可以将一个KVM的镜像,如vmdk格式的镜像转成Docker镜像? 解决方案

VS2012的Windows Service程序打包成exe后安装,但是在进程管理中找不到这个服务,是怎么回事呢???求高手帮忙解决,谢谢!!在线等……

问题描述 VS2012的WindowsService程序打包成exe后安装,但是在进程管理中找不到这个服务,是怎么回事呢???求高手帮忙解决,谢谢!!在线等-- 解决方案 解决方案二:windowsservice安装过程中,不光是复制可执行文件,很关键的一步是需要自定义的,就是注册服务,并且启动服务.注册要用到installutil,启动就用netstartxxxxxx解决方案三:我是用这种方法配置打包的,以前有个项目也是按这种方法配置打包成功运行没有问题,不知道这次是怎么回事http://bl

requirejs在spring boot程序中路径配置问题

问题描述 requirejs在spring boot程序中路径配置问题 我想使用resources目录下的js文件,但是它是从webapp目录下找的,所以每次都是404错误, require(["/public/js/delete"]); 请教大家要怎么解决?

phonegap-关于PhoneGap将andriod程序打包成IOS程序该怎么做?

问题描述 关于PhoneGap将andriod程序打包成IOS程序该怎么做? PhoneGap将andriod程序打包成IOS程序该怎么做?请知道的朋友给我说下具体步骤.多谢 解决方案 先在mac下搭建phonegap框架,再将js+html5等文件拷贝进去,修改网络连接bug和消息弹窗bug,其他的可能还会有些样式问题

关于当程序打包成jar包后.spring资源文件未读取到的问题

问题描述 功能描述:现在我开发的一个服务端的程序,开启一个Socket监听,接受客户端的Socket连接,并将传入的信息存入数据库系统采用框架:Spring+Hibernate其中Spring的主要配置文件为ApplicationContext.xml然后每个模块中也一个spring的xml配置文件,这些配置文件是通过ApplicationContext.xml通过<importresource="classpath*:com/xxx/**/*.xml"/>标签导入进来的.

java程序打包成exe与jar的图文教程_java

Java程序打包 1.java工程源码打包成jar包 选中工程,右键选择export... 选择Runnable JAR file (1)launch configuration 启动配置,java程序的启动类,如果工程没有生成类,先执行"选中工程--run as---Java Application " (2)Export Destination 输出文件名称,要生成的jar文件 2.jar包转换成.exe 使用exe4j4.0将jar生成exe执行文件 破解的exe4j4.0可在下

Hera-将小程序打包成移动APP的开发框架

继移动APP之后,小程序作为当前移动的有一个入口为大家所推崇,不管是微信的小程序还是支付宝的小程序,其实现的思路都是一致的,即通过一个宿主来运行相关的JS页面. 现在Hera根据市场需求,推出了一款真正的跨平台框架,除了可以让你的小程序除了在微信上运行,还可以打包成 Android . iOS应用,以及以 h5 的方式跑在浏览器端. 主要的优点有: 一套代码 处处运行Hera提供了强大的跨平台能力:不仅可以让开发者的微信小程序业务从微信中平滑迁移到Android和iOS端的App中,同时也提供了

【spring Boot】2.在Myecplise上把spring Boot项目打包 war包和jar包

========================================================第一部分============================================================= 第一部分:使用maven项目中自带的插件,将maven的web项目打包成war包 使用的项目是上一章中的maven项目,原封不动 看一下pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0