openshift私人码头注册表无法推送[docker-maven-plugin]

时间:2016-02-05 16:34:36

标签: maven docker openshift-origin

我在openshift-origin安装上的docker-registry有点问题。

我创建了一个docker-registry pods:

 oc get pods
    NAME                            READY     STATUS    RESTARTS   AGE
    docker-registry-3-h46uj         1/1       Running   0          14m

创建了一条路线:

oc get routes
docker-registry docker-registry.vagrant.f8 docker-registry     

创建了一项服务:

oc get service
docker-registry 172.30.14.216 <none> 5000/TCP docker-registry=default 3d

Master of Openshift在10.0.2.235上有一个节点,现在我创建了一个spring-boot应用程序,我使用maven-plugin-docker来构建和推送图像。

当我在本地运行时(在主机上)maven push工作正常,但如果我从另一台机器运行maven push,我会遇到一些问题,在maven push获取期间:

[INFO] DOCKER> ... The push refers to a repository [docker-registry.vagrant.f8/fabric8/springboot-webmvc] (len: 1)
[INFO] DOCKER> ... Sending image list
[ERROR] DOCKER> Error: Status 503 trying to push repository fabric8/springboot-webmvc: 

[ERROR] Failed to execute goal org.jolokia:docker-maven-plugin:0.13.8:push (default-cli) on project springboot-webmvc: Unable to push 'fabric8/springboot-webmvc:1.0.0-SNAPSHOT' from registry 'docker-registry.vagrant.f8' -> [Help 1]

我不明白什么是正确的docker-registry主机,

  • 是pod ip?
  • 是服务ip?
  • 是路由的主机名吗?

pom.xml中的插件配置如下:

 <plugin>
                <groupId>org.jolokia</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>${docker.maven.plugin.version}</version>
                <configuration>
                 <authConfig>
                    <username></username>
                    <password></password>
                 </authConfig>
                    <images>
                        <image>
                            <name>${docker.image}</name>
                            <build>
                                <from>${docker.from}</from>
                                <assembly>
                                    <basedir>/app</basedir>
                                    <descriptorRef>artifact</descriptorRef>
                                </assembly>
                                <env>
                                    <JAVA_APP_JAR>${project.build.finalName}.jar</JAVA_APP_JAR>
                                </env>
                            </build>
                        </image>
                    </images>
                </configuration>
            </plugin>

并推入我的私人码头注册表我使用这个属性:

<docker.push.registry>docker-registry.vagrant.f8</docker.push.registry>

感谢所有人的帮助

1 个答案:

答案 0 :(得分:0)

因此,对于上班路由,您需要一个路由器设置和一个将解析为路由器IP的DNS。也就是说,我没有在openshift中设置注册表应用程序作为应用程序。