美文网首页
Dockerfile打包SpringBoot项目并部署到服务器的

Dockerfile打包SpringBoot项目并部署到服务器的

作者: YoonaDa | 来源:发表于2020-09-01 10:56 被阅读0次

Dockerfile内容

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

修改pom.xml文件

<!--<?xml version="1.0" encoding="UTF-8"?>-->
<!--<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"-->
<!--         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">-->
<!--    <modelVersion>4.0.0</modelVersion>-->
<!--    <parent>-->
<!--        <groupId>org.springframework.boot</groupId>-->
<!--        <artifactId>spring-boot-starter-parent</artifactId>-->
<!--        <version>2.3.1.RELEASE</version>-->
<!--        <relativePath/> <!-- lookup parent from repository -->-->
<!--    </parent>-->
<!--    <groupId>com.yoona</groupId>-->
    <artifactId>learn_beetlsql</artifactId>
    <!--<name>learn_beetlsql</name>-->
    <!--<version>0.0.1-SNAPSHOT</version>-->
    <!--<description>Demo project for Spring Boot</description>-->


    <properties>
        <!--<java.version>1.8</java.version>-->
        <docker.image.prefix>yoonada</docker.image.prefix>
    </properties>


    <build>
        <!--项目打包的名称-->
        <finalName>learn_beetlsql</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>

</project>

<!--第一步:项目目录下运行Dockerfile-->
mvn install dockerfile:build
<!--第二步:镜像打包成功后,本地docker可以查看到-->

image
<!--第三步:本地终端登录阿里云容器服务-->
docker login --username=yoonadada registry.cn-shenzhen.aliyuncs.com
输入密码
<!--第四步:给容器打一个tag,命名为learn_beetlsql-v20200703-->
docker tag 3710ab14720a registry.cn-shenzhen.aliyuncs.com/yoonada/da:learn_beetlsql-v20200703
image
<!--第五步:推送该容器到阿里云容器服务-->
<!--docker push registry.cn-shenzhen.aliyuncs.com/yoonada/da:[镜像版本号]-->
docker push registry.cn-shenzhen.aliyuncs.com/yoonada/da:learn_beetlsql-v20200703
image
image
<!--第六步:登录服务器终端,在服务器上的docker登录阿里云容器服务账号。然后拉取该镜像-->
docker login --username=yoonadada registry.cn-shenzhen.aliyuncs.com
输入密码
<!--docker pull registry.cn-shenzhen.aliyuncs.com/yoonada/da:[镜像版本号]-->
docker pull registry.cn-shenzhen.aliyuncs.com/yoonada/da:learn_beetlsql-v20200703

<!--第七步:用docker跑该镜像-->
<!--(冒号前面)8898为外网访问端口,(冒号后面)8899为该容器本身的端口,3710ab14720a为容器的IMAGE ID-->
docker run -d --name learn_beetlsql -p 8898:8899 3710ab14720a
<!--第八步:查看镜像运行日志-->
<!--先docker ps -a找到镜像对应的CONTAINER ID -->
docker ps -a
<!--再docker logs -f CONTAINER ID-->
docker logs -f e4410320dcc7
image

相关文章

网友评论

      本文标题:Dockerfile打包SpringBoot项目并部署到服务器的

      本文链接:https://www.haomeiwen.com/subject/axpcsktx.html