docker-maven-plugin 使用经验

无法打包镜像是本地没有docker环境,或者有环境未开启相应端口

image

其实有更新的插件,但是还不够稳,用起来没这个快,就先放放,后面加上。

推送镜像到私服被拒绝 解决步骤

  1. 确认私服地址是否配置正确
  2. 确认私服证书是否已安装,或者 dockerCertPath 配置是否正确
  3. 确认在 maven 的 pom.xml 文件是否已配置认证账号
  4. 干掉 ~/.docker/config.json,如果怕出事就备份下
# Dockerfile 文件内容
FROM amazoncorretto:17.0.5
#FROM amazoncorretto:17.0.5
# 将 target 下的 jar 包复制为 app.jar
ARG JAR_FILE=./target/*.jar
COPY ${JAR_FILE} /app.jar
# 声明服务运行在8080端口
EXPOSE 8080
# 指定docker容器启动时运行jar包
ENTRYPOINT ["java", "-jar","/app.jar"]
# 指定维护者的名字
MAINTAINER dewen.jiang <dewen.jiang@chinacreator.com>
<plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.2</version>
                <executions>
                    <execution>
                        <id>build-image</id>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>tag-image</id>
                        <phase>package</phase>
                        <goals>
                            <goal>tag</goal>
                        </goals>
                        <configuration>
                            <image>${project.artifactId}:latest</image>
                            <newName>${docker.repository}/hosp/${project.artifactId}:${project.version}</newName>
                        </configuration>
                    </execution>
                </executions>
                <!--基于 Dockerfile 文件-->
                <!--<configuration>
                    <dockerHost>http://localhost:2375</dockerHost>
                    <serverId>creator-docker</serverId>
                    <registryUrl>http://${docker.repository}</registryUrl>
                    <imageName>${docker.repository}/${docker.group.name}/${project.artifactId}:${project.version}
                    </imageName>
                    <imageTags>
                        <imageTag>${project.version}</imageTag>
                    </imageTags>
                    <forceTags>true</forceTags>
                    <dockerDirectory>${project.basedir}</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>-->
                <configuration>
                    <forceTags>true</forceTags>
                    <pushImage>true</pushImage>
                    <serverId>docker</serverId>
                    <dockerHost>http://localhost:2375</dockerHost>
                    <registryUrl>https://${docker.repository}</registryUrl>
                    <!--<dockerCertPath>${project.basedir}\src\main\resources\ca.crt</dockerCertPath>-->
                    <dockerCertPath>E:\test</dockerCertPath>
                    <imageName>${docker.repository}/${docker.group.name}/${project.artifactId}:${project.version}</imageName>
                    <baseImage>amazoncorretto:17.0.5</baseImage>
                    <maintainer>dewen.jiang@chinacreator.com</maintainer>
                    <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint>
                    <resources>
                        <resource>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
posted @ 2022-11-04 17:23  临渊不羡渔  阅读(446)  评论(0编辑  收藏  举报