我是 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
仅此而已....