使用docker将maven项目打包成镜像

最近工作中需要使用docker打包成镜像启动,所以有了这篇文章。
差点忘了,你的maven项目中首先要有配置docker打包

以下是maven项目的配置


1.pom文件中加入plugin

            <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>dockerfile-maven-plugin</artifactId>
            <version>${dockerfile-maven-plugin.version}</version>
                <!--
                 Uncomment the section below to build the docker image with mvn package and and push it with mvn deploy
                <execution>
                    <id>default</id>
                    <goals>
                        <goal>build</goal>
                        <goal>push</goal>
                    </goals>
                </execution>
                -->

            <configuration>
                <repository>xxx</repository>
                <tag>${project.version}</tag>
                <contextDirectory>${project.build.directory}</contextDirectory>
            </configuration>
        </plugin>
        <!-- jhipster-needle-maven-add-plugin -->
    </plugins>

2.在src/main/docker下建立dockerfile文件,内容如下:

FROM openjdk:8-jre

RUN groupadd -r work && useradd -r -g work work

USER work

ENV SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \
    JHIPSTER_SLEEP=0 \
    JAVA_OPTS=""

CMD echo "The application will start in ${JHIPSTER_SLEEP}s..." && \
    sleep ${JHIPSTER_SLEEP} && \
    java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.war

EXPOSE 8080

ADD *.war app.war

以下是怎么使用docker打包

首先你需要有docker -_-||

1.先了解一下save命令。

docker save [OPTIONS] IMAGE [IMAGE…]

OPTIONS说明:

  • -o :输出到的文件。

2.使用maven打包。

mvn package dockerfile:build

这里你将会生成一个项目名:项目版本号,例如:project:0.0.1;

3.使用docker save命令。

#保存到用户目录下
docker save -o ~/xxx.tar project:0.0.1
#或者可以使用这条
docker save project:0.0.1>~/xxx.tar

4.加载tar包:

docker load -i xxx.tar
docker load<xxx.tar

5.使用docker run运行镜像。

①首先使用docker image ls,查看xxx.tar包的镜像名字
②使用docker run -p 8080:8080 imageName 就运行了。

猜你喜欢

转载自blog.csdn.net/x7418520/article/details/81219930
今日推荐