将Spring Boot程序打包成docker镜像
写了这多关于平台云的文章,其实我的平台云还没有搭建起来,但是我最终的目标是将spring boot运行于平台云当中。
我所知道我目前要学习的东西有CoreOS+Docker--这是平台云的基石。后面打算部署Deis或者flynn作为平台云。
不管怎么说,spring boot应用最终作为一种微服务运行于docker容器之中的。最后负载均衡也好,数据库也好,都是让平台云去做。
1、写一个简单的spring boot的例子。
使用STS新建一个spring boot项目,添加一点代码(其实就是访问“/”路径,返回字符串),整个代码见附件。
2、新建Dockerfile文件,内如如下:
FROM ubuntu:latest MAINTAINER wiselyman RUN apt-get update RUN apt-get install default-jre -y RUN apt-get install default-jdk -y RUN apt-get install maven -y ADD pom.xml /app/ ADD src/ /app/src/ WORKDIR /app/ RUN mvn package EXPOSE 8080 CMD ["java","-jar","target/spring-boot-docker-0.0.1-SNAPSHOT.jar"]
3、我的windows上没有docker,上传到我的fedora上。
4、执行docker编译
docker build -t localhost:5000/spring-boot-docker .
不要使用下面命令,会导致到不到文件
docker build -t localhost:5000/spring-boot-docker - < Dockerfile
5、查看编译好的镜像
docker images
6、运行镜像
docker run -d --name spring-boot-docker -p 49163:8080 a6e9ac3638fa
查看状态
docker ps -a
访问页面
新书推荐《JavaEE开发的颠覆者: Spring Boot实战》,涵盖Spring 4.x、Spring MVC 4.x、Spring Boot企业开发实战。
京东地址:http://item.jd.com/11894632.html
当当地址:http://product.dangdang.com/23926195.html
亚马逊地址:http://www.amazon.cn/图书/dp/B01D5ZBFUK/ref=zg_bsnr_663834051_6
淘宝地址:https://item.taobao.com/item.htm?id=528426235744&ns=1&abbucket=8#detail
或自己在京东、淘宝、亚马逊、当当、互动出版社搜索自选。