博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Boot 整合 docker
阅读量:7079 次
发布时间:2019-06-28

本文共 2907 字,大约阅读时间需要 9 分钟。

hot3.png

文章首发于微信公众号《程序员果果》 地址:

一、什么是docker ?

简介

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

docker的应用场景

  • web应用的自动化打包和发布;
  • 自动化测试和持续集成、发布;
  • 在服务型环境中部署和调整数据库或其他的后台应用;
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

二、整合 docker

创建工程

创建一个springboot工程springboot-docker

1. 启动类

package com.gf;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RestController;@SpringBootApplication@RestControllerpublic class SpringbootDockerApplication {	public static void main(String[] args) {		SpringApplication.run(SpringbootDockerApplication.class, args);	}	@GetMapping("/{name}")	public String hi(@PathVariable(value = "name") String name) {		return "hi , " + name;	}}

2. 将springboot工程容器化

我们编写一个Dockerfile来定制镜像,在src/main/resources/docker 下创建Dockerfile文件

FROM frolvlad/alpine-oraclejdk8:slimVOLUME /tmpADD springboot-docker-0.0.1-SNAPSHOT.jar app.jarRUN sh -c 'touch /app.jar'ENV JAVA_OPTS=""ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

3. pom.xml

我们通过maven 构建docker镜像。 在maven的pom目录,加上docker镜像构建的插件

4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.1.RELEASE
com.gf
springboot-docker
0.0.1-SNAPSHOT
jar
springboot-docker
Demo project for Spring Boot
UTF-8
UTF-8
1.8
gf
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
com.spotify
docker-maven-plugin
1.2.0
${docker.image.prefix}/${project.artifactId}
src/main/resources/docker
/
${project.build.directory}
${project.build.finalName}.jar

构建镜像

我们运行下面的命令构建镜像:

mvn cleanmvn package docker:bulid

构建成功后,我们通过下面的命令查看镜像:

docker images

启动镜像:

#c2dba352c3c1 为镜像IDdocker run -p 8080:8080 -t c2dba352c3c1

之后我们就可以访问服务了。

源码

关注我

欢迎扫码或微信搜索公众号《程序员果果》关注我,关注有惊喜~

转载于:https://my.oschina.net/u/2367201/blog/3054860

你可能感兴趣的文章
Centos7编译Hadoop-2.7.5遇到的坑
查看>>
大众哲学(思维导图)
查看>>
敏捷个人3月份公益大会路线图
查看>>
WEB前端开发工程师 学习第二天 背景
查看>>
0607mysql基础:常用属性、约束
查看>>
Daniel Pfeifer 《Effective CMake》讲座笔记
查看>>
Sequelize-nodejs-4-Model usage
查看>>
【赛时总结】◇赛时·VII◇ Atcoder ABC-106
查看>>
javascript 查找属性的过程
查看>>
mongo与node的两种连接方式 mongoskin && mongoclient 的基本使用
查看>>
ID3算法(决策树)
查看>>
修改GIT密码
查看>>
Nginx日志切割
查看>>
乒乓球
查看>>
Linux查询网址
查看>>
十,选择cfee编辑器并学会调试程序。以及结束语。
查看>>
炮弹转向鼠标点击方向,随即发射炮弹并产生爆炸特效
查看>>
新增图表控件
查看>>
LeetCode——Count Complete Tree Nodes
查看>>
【转】根据URL来读取网页输出的数据
查看>>