1. 程式人生 > >使用docker將maven專案打包成映象

使用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> <!--這裡的xxx是你的專案名--> <tag>${project.version}</tag> <contextDirectory>${project.build.directory}</contextDirectory> </configuration> </plugin>

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

上面這段程式碼意思是,使用jdk8,建立了使用者組work,以及使用者work,對外埠為8080。

以下是怎麼使用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 就運行了。