Docker Maven Spotify 插件 - 可以切换到非安全注册表

Posted

技术标签:

【中文标题】Docker Maven Spotify 插件 - 可以切换到非安全注册表【英文标题】:Docker Maven Spotify plugin - Possible to switch to non-secure registry 【发布时间】:2016-07-23 05:55:16 【问题描述】:

我正在使用Spotify Maven plugin 在执行某些 maven 目标时自动构建和部署 docker 映像。

但是,我正在运行一个可通过以下主机访问的私有不安全注册表:server.mydomain.com:5000。但是,我似乎无法阻止插件强制安全推送到存储库?它使用https://server.mydomain.com:5000。

有没有办法强制插件不使用https?

谢谢。

编辑:

当前插件 POM 配置:

<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.4.3</version>
    <configuration>
        <imageName>server.mydomain.com:5000/$project.artifactId</imageName>
        <baseImage>java</baseImage>
        <entryPoint>["java", "-jar", "/$project.build.finalName-packaged.jar"]</entryPoint>
        <resources>
            <resource>
                <targetPath>/</targetPath>
                <directory>$project.build.directory</directory>
                <include>$project.build.finalName-packaged.jar</include>
            </resource>
        </resources>
        <imageTags>
            <imageTag>$project.version</imageTag>
            <imageTag>latest</imageTag>
        </imageTags>
        <retryPushCount>0</retryPushCount>
    </configuration>
    <executions>
        <execution>
            <id>build-image</id>
            <phase>package</phase>
            <goals>
                <goal>build</goal>
            </goals>
        </execution>
        <execution>
            <id>push-image</id>
            <phase>deploy</phase>
            <goals>
                <goal>push</goal>
            </goals>
        </execution>
    </executions>
</plugin>

【问题讨论】:

发布您遇到的异常会很有帮助。 我认为这个问题与描述的行为相符:github.com/spotify/docker-maven-plugin/issues/183 将不得不等待解决! 【参考方案1】:

这似乎是 Docker 行为,与您使用的 maven 插件无关,请参阅 this Docker issue,其中提到在启动 Docker 守护程序时需要设置 --insecure-registry http://server.mydomain.com:5000

【讨论】:

我相信这是插件本身的问题... Docker 守护程序设置正确,并设置了 insecure-registry 选项。但是,当执行 push-image 目标时,插件会尝试推送到 https://(不是 http) 同样的问题,我有com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? 我已经从我的环境中删除了DOCKER_CERT_PATH 并将不安全的注册表标志添加到引擎中。会不会是插件的bug?

以上是关于Docker Maven Spotify 插件 - 可以切换到非安全注册表的主要内容,如果未能解决你的问题,请参考以下文章

使用 spotify maven 插件在 Windows 10 上使用 Docker 创建 Springboot 映像

Maven一键部署Springboot到Docker仓库,为自动化做准备

docker使用docker-maven-plugin插件构建docker镜像

springboot项目打包docker镜像maven插件

springboot项目打包docker镜像maven插件

docker-maven-plugin插件设置Docker的buildArgs