Docker dockerfile-maven-plugin 使用

https://blog.csdn.net/liubingyu12345/article/details/79015966

背景: 环境阿里云CentOs7下面Docker部署Spring boot 项目

1:docker配置

1.1:  docker安装

yum install docker -y

1.2:  开启docker 远程api

参考: https://www.cnblogs.com/520playboy/p/7921633.html

 

2:Spring boot项目配置

2.1: 新建一个Dockerfile文件和pom.xml同级位置

Dockerfile内容如下 (8701端口 需在阿里云安全组配置)

FROM java:8
VOLUME /tmp
ARG JAR_FILE
ADD ${JAR_FILE} app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 8701
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-jar", "/app.jar"]

2.2: 修改pom.xml     

        <properties>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
          <java.version>1.8</java.version>
          <docker.image>docker-demo</docker.image>
        </properties>

       <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.3.7</version>
                <configuration>
                    <repository>${docker.image}/${project.artifactId}</repository>
                    <buildArgs>
                        <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>

3: 打包成docker镜像 并运行

3.1: 打包

mvn clean package dockerfile:build -DskipTests

出现下面情况打包成功

docker images查看镜像

643MB java:8 是Dockerfile 文件中FROM java:8 

672MB 项目运行环境基于java:8

3.2: 运行

docker run --name newtest -p 8701:8701 -d docker-demo/docker

--name 取名

-p 端口映射

-d 后台运行

docker-demo/docker 镜像REPOSITORY名字;

执行之后打开http://120.79.210.194:8701/hello 可以访问了

原文地址:https://www.cnblogs.com/eason-d/p/8921010.html