使用docker將maven專案打包成映象
阿新 • • 發佈:2018-12-23
最近工作中需要使用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 就運行了。