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

Spring Boot 整合 docker

启动镜像:

#c2dba352c3c1 为镜像ID
docker run -p 8080:8080 -t c2dba352c3c1

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

源码:https://github.com/gf-huanchupk/SpringBootLearning

欢迎关注我的公众号《程序员果果》,关注有惊喜~~
Spring Boot 整合 docker


网站题目:SpringBoot整合docker
网页链接:http://ybzwz.com/article/giehpg.html