Spring boot:使用Docker部署Spring Boot项目

文章目录

    • 一、环境搭建
    • 二、SpringBoot项目添加Docker支持
    • 三、部署Spring Boot项目

一、环境搭建

部署之前需要已经安装Docker和Maven(用于打包)。

  • 安装Docker
  • 安装Maven
    1、Maven下载链接
    2、解压
    Spring boot:使用Docker部署Spring Boot项目_第1张图片
    3、配置环境变量
    环境变量配置方法(Windows)
    1)添加新的系统环境变量:MAVEN_HOME
    2)设置其值为你安装的目录:
    Spring boot:使用Docker部署Spring Boot项目_第2张图片
    3)更新系统PATH 变量,添加变量值:%MAVEN_HOME%\bin
    Spring boot:使用Docker部署Spring Boot项目_第3张图片
    4)点击确定;
    5)然后使用【mvn --version】命令验证maven安装情况,如下图所示。
    Spring boot:使用Docker部署Spring Boot项目_第4张图片
    出现如图,则安装成功。

二、SpringBoot项目添加Docker支持

1)新建项目,添加一个DockerController,方便进行测试。

package com.pibigstar.web;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DockerController {

    @GetMapping("/hello")
    @ResponseBody
    public String hello() {
        return "Hello Docker";
    }
}

2)添加Docker支持

 <properties>
        <!--添加Docker支持  Docker镜像名称-->
        <docker.image.prefix>springboot</docker.image.prefix>
    </properties>

添加 Docker插件:

			<!-- docker插件 -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

3)编写Dockerfile文件

FROM java:8
VOLUME /tmp
COPY ./yumi-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

FROM指令指定一个已经存在的镜像,告诉Docker后续的指令都是在这个基础上进行的。例如:FROM java:8表示使用 Jdk1.8 环境为基础镜像进行构建镜像。

VOLUME ,VOLUME 指向了一个/tmp的目录,由于Spring Boot使用内置的Tomcat容器,Tomcat 默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录

ADD ,拷贝文件并且重命名

ENTRYPOINT,为了缩短Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为ENTRYPOINT。
Spring boot:使用Docker部署Spring Boot项目_第5张图片

三、部署Spring Boot项目

1)maven打包:mvn package
2)运行:java -jar target/spring-boot-docker-1.0.jar
Spring boot:使用Docker部署Spring Boot项目_第6张图片
Spring boot:使用Docker部署Spring Boot项目_第7张图片
Spring boot:使用Docker部署Spring Boot项目_第8张图片
3)项目启动成功可在浏览器中进行访问,如图,部署成功。
Spring boot:使用Docker部署Spring Boot项目_第9张图片

你可能感兴趣的:(java,docker,spring,boot,java)