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 sr3grwkegr3kjrk42k2jrg34kb5k43g5k4jg53
(oc 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
就这样 ….