• springboot与docker


    一、添加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
  • 相关阅读:
    Oracle 网络
    Oracle 实例管理
    Oracle 体系结构四 逻辑和物理存储结构之间的关系
    Oracle 体系结构三 后台进程
    Oracle 体系结构二 内存结构
    Oracle 体系结构一 概述
    SQL 二
    SQL 一
    如何获取SQL Server数据库元数据的方法
    VB.NET中使用代表对方法异步调用
  • 原文地址:https://www.cnblogs.com/it-taosir/p/11831569.html
Copyright © 2020-2023  润新知