码迷,mamicode.com
首页 > 编程语言 > 详细

springboot与docker

时间:2019-11-11 23:10:09      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:open   本地   步骤   多个   临时   pen   基于   app   一个   

一、添加maven配置

    <properties>
        <docker.image.prefix>ms4t</docker.image.prefix>
    </properties>

    <build>
        <finalName>eureka</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.3.6</version>
                <configuration>
                    <repository>${docker.image.prefix}/${project.artifactId}</repository>
                    <buildArgs>
                        <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>
        </plugins>
    </build>

二、创建Dockerfile

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

参数讲解:

FROM <image>:<tag> 需要一个基础镜像,可以是公共的或者私有的。

后续构建会基于此镜像,如果同一个Dockerfile中建立多个镜像时,可以使用多个FROM指令

VOLUME 配置一个具有持久化功能的目录,主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。改步骤是可选的,如果涉及到文件系统的应用就很有必要了

。/tmp目录用来持久化到 Docker 数据文件夹,因为Spring Boot 使用的内嵌 Tomcat 容器默认使用 /tmp 作为工作目录

ARG 设置编译镜像时加入的参数, ENV 是设置容器的环境变量

COPY:只支持将本地文件复制到容器,还有个ADD更强大但复杂点

ENTRYPOINT 容器启动时执行的命令

EXPOSE 8080 暴露的镜像端口

 

三、构建

mvn install dockerfile:build

四、启动

docker run -d --name 名称 -p 对外端口:容器端口 镜像ID

 

springboot与docker

标签:open   本地   步骤   多个   临时   pen   基于   app   一个   

原文地址:https://www.cnblogs.com/it-taosir/p/11831569.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!