Docker构建SpringBoot镜像
来源:互联网 发布:淘宝刷客收入揭秘 编辑:程序博客网 时间:2024/06/05 20:29
一、使用STS构建springBoot项目
项目结构
├─src│ ├─main│ │ ├─java│ │ │ └─com│ │ │ └─example│ │ └─resources│ │ ├─static│ │ └─templates│ └─test│ └─java│ └─com│ └─example└─target
pom.xml
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>springboot</artifactId> <version>1.0</version> <packaging>jar</packaging> <name>SpringBoot</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build></project>
Application.java
package com.example;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@SpringBootApplicationpublic class Application { @RequestMapping("/") public String index(){ return "Hello Docker ."; } public static void main(String[] args) { SpringApplication.run(Application.class, args); }}
使用maven打包项目,在target目录下得到springboot-1.0.jar
mvn clean pakcage //先清理再进行打包target/springboot-1.0.jar
run项目
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.5.1.RELEASE)......2017-02-22 13:51:45.408 INFO 1588 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)2017-02-22 13:51:45.423 INFO 1588 --- [ main] com.example.Application : Started Application in 2.004 seconds (JVM running for 2.622)2017-02-22 13:51:58.432 INFO 1588 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring FrameworkServlet 'dispatcherServlet'2017-02-22 13:51:58.433 INFO 1588 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started2017-02-22 13:51:58.452 INFO 1588 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 19 ms
地址栏输入http://localhost:8080/, 得到如下结果,项目构建成功。
Hello Docker .
二、构建Docker镜像,启动Docker容器
上传springboot-1.0.jar到装有Docker服务的linux系统,这里我用的是ubutun14.04
开始编写Dockerfile文件,
vi Dockerfile
Dockerfile的内容,保存退出
FROM hub.c.163.com/xbingo/jdk8ADD ./springboot-1.0.jar /springboot.jarEXPOSE 8080CMD ["java","-jar","/springboot.jar"]
ll查看
root@ubuntu:/data/test# lltotal 14004drwxr-xr-x 2 root root 4096 Feb 21 22:38 ./drwxr-xr-x 5 root root 4096 Feb 21 22:20 ../-rw-r--r-- 1 root root 124 Feb 21 22:25 Dockerfile-rw-r--r-- 1 root root 14326404 Feb 21 22:20 springboot-1.0.jarroot@ubuntu:/data/test#
构建镜像,别忘记后面的”.”,表示Dockerfile的文件位置
root@ubuntu:/data/test# docker build -t springboot:1.0 .Sending build context to Docker daemon 14.33 MBStep 1/4 : FROM hub.c.163.com/xbingo/jdk8 ---> 3273714c9663Step 2/4 : ADD ./springboot-1.0.jar /springboot.jar ---> 556a8eba0f6aRemoving intermediate container 8d6a88c466e2Step 3/4 : EXPOSE 8080 ---> Running in 327fc70b5fa9 ---> e5e6c6b29983Removing intermediate container 327fc70b5fa9Step 4/4 : CMD java -jar /springboot.jar ---> Running in 4a9c41547c8c ---> c745ff82ccacRemoving intermediate container 4a9c41547c8cSuccessfully built c745ff82ccacroot@ubuntu:/data/test#
查看镜像列表,已生成springboot镜像
root@ubuntu:/data/test# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEspringboot 1.0 c745ff82ccac 5 minutes ago 182 MBroot@ubuntu:/data/test#
启动容器,并查看运行容器列表
root@ubuntu:/data/test# docker run -d -p 8080:8080 --name springboot springboot:1.0840e8f08bdbbf10f3050c4c7ec38ba7c1ce90378b0f31a3a8cc7a1d2ddf66119root@ubuntu:/data/test# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES840e8f08bdbb springboot:1.0 "java -jar /spring..." 4 seconds ago Up 3 seconds 0.0.0.0:8080->8080/tcp springboot
打开宿主主机的浏览器:输入http://localhost:8080,预览效果
要想查看Docker容器日志,显示日志结果和第一步的启动日志一致
docker logs springboot
0 0
- Docker构建SpringBoot镜像
- Docker(二)-Docker化-构建Springboot的镜像
- Docker构建镜像
- 【Docker】Docker构建镜像
- Docker 构建redis镜像
- Docker 构建Tomcat镜像
- Docker构建ssh镜像
- docker(二):构建镜像
- Docker-Dockerfile构建镜像
- Docker构建Redis镜像
- 使用docker构建镜像
- docker 镜像构建Dockerfile
- Docker镜像构建-Dockerfile
- docker构建tomcat镜像
- Docker入门之构建Springboot项目发布在镜像环境
- Docker:使用Jenkins构建Docker镜像
- Docker教程(四) Docker镜像构建
- springboot打包docker镜像部署
- saltstack 常用命令汇总及维护
- netsh的基本应用----修改本机的ip
- jira 6.0.3 破解 && 汉化(反编译实例讲解)
- 设计模式(八)装饰器模式Decorator(结构型)
- javascript-MDN学习笔记-Array部分
- Docker构建SpringBoot镜像
- head first 设计模式之---------观察者模式
- SQLServer2016 AlwaysOn基于证书的搭建笔记
- ICCV2013-Hybrid Deep Learning for Face Verification
- eclipse控制台中输入中文输出乱码的解决办法http://jxtm.bsdlover.cn/?p=1425
- mediator 中介者模式
- iOS 单元格选中之后返回的时候不再显示选中状态
- Android基础-1 基于Eclipse的开发环境搭建
- DrawerLayout布局的使用步骤