SpringBoot整合docker-创新互联
                                            一、什么是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
@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
欢迎关注我的公众号《程序员果果》,关注有惊喜~~
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页题目:SpringBoot整合docker-创新互联
文章URL:http://www.scyingshan.cn/article/jcgoi.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 