建議: 最好了解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鏡像中可以看到