openshift online:StartContaineR语言 ErrImagePull 上的错误:"未经授权:需要身份验证"



我是 openshift 的新手,我有一个表演障碍:

在我的计算机上,我创建了一个名为restservice的Dockerimage,并成功测试了它:

docker run -d -p 8080:8080 restservice

然后我在Openshift-Online中创建了一个带有图像的应用程序:

oc new-app restservice

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

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 failedn)n'; Skipping pod"

我不知道需要什么身份验证。

缺少的步骤是将图像设置为联机打开移位。

所以这些是步骤:

  • 在本地计算机上生成映像

    docker build -t restservice .

  • 用注册表/用户名/映像名称标记它

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

  • 获取登录Openshift注册表的密钥

    oc whoami -t sr3grwkegr3kjrk42k2jrg34kb5k43g5k4jg53(SR3...是输出(

  • 登录 Openshift 注册表

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

  • 将映像推送到注册表

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

  • 使用映像创建新应用

    oc new-app myrestservice

仅此而已....

最新更新