SpringBoot整合docker
一、什么是docker ?
简介
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。
创新互联建站主要从事成都做网站、成都网站建设、成都外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务张家港,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
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
@RestController
public 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:slim
VOLUME /tmp
ADD springboot-docker-0.0.1-SNAPSHOT.jar app.jar
RUN 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 clean
mvn package docker:bulid
构建成功后,我们通过下面的命令查看镜像:
docker images
启动镜像:
#c2dba352c3c1 为镜像ID
docker run -p 8080:8080 -t c2dba352c3c1
之后我们就可以访问服务了。
源码:https://github.com/gf-huanchupk/SpringBootLearning
欢迎关注我的公众号《程序员果果》,关注有惊喜~~
分享题目:SpringBoot整合docker
转载注明:http://hbruida.cn/article/giehpg.html