springboot整合docker部署

环境安装 

首先,需要安装Docker(例如:docker for windows)

下载地址:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe

安装运行起来之后,配置一下阿里云境像,在屏幕右下角,找到"小鲸鱼"

springboot整合docker部署_第1张图片

右击小鲸鱼->settings->Daemon 如下图,设置镜像地址:

https://6w4lyiz2.mirror.aliyuncs.com

springboot整合docker部署_第2张图片

 重启大概需要30秒

 

 springboot代码 

1、pom 文件如下:



    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.5.RELEASE
         
    
    com.river
    springboot-docker
    0.0.1-SNAPSHOT
    springboot-docker
    Demo project for Spring Boot

    
        UTF-8
        UTF-8
        
        springio
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.springframework.boot
            spring-boot-autoconfigure
            2.1.5.RELEASE
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
            
                com.spotify
                docker-maven-plugin
                0.4.13
                
                    ${docker.image.prefix}/${project.artifactId}
                    src/main/docker
                    
                        
                            /
                            ${project.build.directory}
                            ${project.build.finalName}.jar
                        
                    
                
            
            

        

        
    

2、程序

package com.river.springbootdocker;

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;

@SpringBootApplication
@RestController
public class SpringbootDockerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootDockerApplication.class, args);
    }

    @RequestMapping("/")
    public String home() {
        return "Hello Docker World";
    }

}

3、程序端口设置为 :

server.port=8010

这时可以编译或运行程序

4、在程序根目录下创建Dockerfile文件

FROM frolvlad/alpine-oraclejdk8:slim

MAINTAINER [email protected]

VOLUME /tmp

ADD ./target/springboot-docker-0.0.1-SNAPSHOT.jar springboot-docker.jar

RUN sh -c 'touch /springboot-docker.jar'

ENV JAVA_OPTS=""

ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /springboot-docker.jar" ]

  配置文件解释:

  VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。改步骤是可选的,如果涉及到文件系统的应用就很有必要了。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录 
项目的 jar 文件作为 “app.jar” 添加到容器的 
ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/urandom” 作为 Entropy Source 

 

 docker部署

在当前文件夹下打开cmd命令,执行如下语名构建镜像:

docker build -t hello-docker .

输出如下信息,就表示镜像构建成功了

springboot整合docker部署_第3张图片

此时,我们可以通过命令查看镜像:

docker images

 

 

接着,启动容器

docker run -d -p 8030:8010 hello-docker

 

在浏览器中输入:

http://localhost:8030/

我们可以看到:

springboot整合docker部署_第4张图片

 

转载于:https://www.cnblogs.com/luchangjiang/p/10923858.html

你可能感兴趣的:(运维,java)