openshift在线:错误在StartContainer – ErrImagePull:“未经授权:需要身份validation”

我是新手openshift,我有一个showstopper:

在我的电脑上,我创build了一个名为restservice的Dockerimage,并成功testing了它:

 docker run -d -p 8080:8080 restservice 

然后我在Openshift-Online中创build了一个应用程序,

 oc new-app restservice 

我可以看到部署-pod正在启动,并且正在运行pod的创build失败。

 oc describe pod restservice-2-50n0h 

我得到以下错误:

 ... Events: FirstSeen LastSeen Count From SubObjectPath Type Reason Message --------- -------- ----- ---- ------------- -------- ------ ------- 1m 1m 1 {default-scheduler } Normal Scheduled Successfully assigned restservice-2-50n0h to ip-172-31-54-238.us-west-2.compute.internal 41s 41s 1 {kubelet ip-172-31-54-238.us-west-2.compute.internal} spec.containers{restservice} Normal Pulling pulling image "restservice:latest" 39s 39s 1 {kubelet ip-172-31-54-238.us-west-2.compute.internal} spec.containers{restservice} Warning Failed Failed to pull image "restservice:latest": unauthorized: authentication required 39s 39s 1 {kubelet ip-172-31-54-238.us-west-2.compute.internal} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "restservice" with ErrImagePull: "unauthorized: authentication required" 55s 9s 2 {kubelet ip-172-31-54-238.us-west-2.compute.internal} Warning FailedSync Error syncing pod, skipping: failed to "SetupNetwork" for "restservice-2-50n0h_wgbeckmann" with SetupNetworkError: "Failed to setup network for pod \"restservice-2-50n0h_wgbeckmann(06f892b4-7568-11e7-914e-0a69cdf75e6f)\" using network plugins \"cni\": CNI request failed with status 400: 'Failed to execute iptables-restore: exit status 1 (iptables-restore: line 3 failed\n)\n'; Skipping pod" 

我不知道什么authentication是needet。

缺less的步骤是推动图像openshift在线。

所以这些是步骤:

  • 在本地计算机上构build一个图像

    docker build -t restservice .

  • 用registry/用户名/图像名称标记它

    docker tag restservice registry.starter-us-west2.openshift.com/myusername/myrestservice

  • 获取您的秘密login到Openshiftregistry

    oc whoami -t sr3grwkegr3kjrk42k2jrg34kb5k43g5k4jg53oc whoami -t sr3grwkegr3kjrk42k2jrg34kb5k43g5k4jg53 …是输出)

  • login到Openshiftregistry

    docker login -u name@mail.com -p sr3grwkegr3kjrk42k2jrg34kb5k43g5k4jg53 https://registry.starter-us-west-2.openshift.com

  • 将图像推送到registry

    docker push registry.starter-us-west-2.openshift.com/myusername/myrestservice

  • 使用图像创build新的应用程序

    oc new-app myrestservice

就这样 ….