环境: Maven 3.6.1 、Docker 19.03.1
注: 这里需要使用到Docker环境,可以使用Windows本机安装Docker环境,也可以使用远程Docker环境,开启远程访问,可参考
Docker安装
1.使用插件
spotify 下有两个Docker构建插件:
docker-maven-plugin和
dockerfile-maven-plugin官方推荐使用后者
# dockerfile-maven-plugin(官方推荐使用)
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
</plugin>
2.环境变量
若使用本机安装Docker环境构建,可忽略此步骤
#在系统环境变量中添加名称为DOCKET_HOST
DOCKER_HOST = tcp://ip:2375
3.配置项目
在pom.xml中添加如下:
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.12</version>
<executions>
<execution>
<id>default</id>
<phase>package</phase> #绑定package,使用mvn package 命令可触发<goal>绑定的命令
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<username>user</username> #私有仓库用户名
<password>password</password> #私有仓库密码
#远程仓库这里以阿里云镜像仓库为例
<repository>registry.cn-hangzhou.aliyuncs.com/namespace/${project.artifactId}</repository>
<tag>${project.version}</tag>
<buildArgs>
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
在项目根目录添加DockerFile文件,内容如下:
FROM java:8
ARG JAR_FILE
ADD target/${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
4.构建项目
#执行此命令会触发dockerfile build push命令
mvn clean package
查看docker镜像build成功,查看阿里云镜像仓库推送成功
网友评论