使用maven 構建 Docker鏡像


 

建議: 最好了解docker , 會基本操作,在看這篇文章

Spotify公司開源了一款docker的Maven插件:

舊版:  docker-maven-plugin 

新版: dockerfile-maven-plugin

這邊我們使用新版,舊版本存在很多問題【動不動就找不到Dockerfile文件,修改版本每次都得替換jar變量@finalName@】

舊版: 折騰我半天了,一會好使一會不好使 

 

1、開通docker的遠程API,端口2375

docker安裝就不說了,屬於基礎,自己找

我的docker版本

Client: Docker Engine - Community
Version: 19.03.12

Server: Docker Engine - Community
 Engine:
  Version:          19.03.12

我的系統是centos 7的

vi    /lib/systemd/system/docker.service

在ExecStart下,增加 -H tcp://0.0.0.0:2375

 

 

 保存,然后輸入以下命令,重新加載配置和重啟

systemctl daemon-reload systemctl restart docker

 

注意:改完以后docker images  或者 docker ps 看看是否正常,要是卡住沒反應那肯定是有問題了。

 

2、配置docker_host環境變量

 

 

 

 注意:IDE工具如果早於 環境變量配置  前打開了

           最好在配置環境變量后,將IDE關閉重新打開。

           不然maven_docker連接地址還是本地的127.0.0.1:2375

 

3、配置pom.xml文件

<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.9</version>

<configuration>
<!--使用maven, gorupId,artifactId,和tag用版本 -->
<repository>${project.groupId}/${project.artifactId}</repository>
<tag>${project.version}</tag>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>

 

4、配置Dockerfile文件

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

 

5、 打包

使用 maven 中 package 重新生成jar文件

然后使用 maven 下的 Plugins ---dockerfile 中的build

 

 

 

 

6、 在docker鏡像中可以看到

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM