【发布时间】:2015-11-23 18:32:52
【问题描述】:
我创建了我的第一个 node/express 应用程序,构建了一个 Docker 映像并为其部署了一个本地 Docker 容器(由于我在 Windows 上,因此借助 VirtualBox)。我按照这里的说明进行操作:
能够让一切正常工作并被推送到 bluemix。现在,几周后,我准备在 bluemix 上更新我的容器。我已经重建了本地 Docker 映像并部署了一个新的本地容器,一切正常。现在我想替换我之前推送到 bluemix 的图像。
我先 cf login 然后 cf ic login 并且都按预期工作。然后我将图像标记为“最新”:
docker -H tcp://192.168.0.16:2375 tag -f mockchain registry.ng.bluemix.net/gormanm/mockchain:latest
而且效果很好。现在我准备好推送并发出这个命令了:
docker -H tcp://192.168.0.16:2375 push registry.ng.bluemix.net/gormanm/mockchain:latest
当我这样做时,它不会推送图像,而是提示我登录:
The push refers to a repository [registry.ng.bluemix.net/gormanm/mockchain] (length: 1)
Sending image list
Please login prior to push:
Username:
从我所阅读的所有内容来看,此时它不应该提示我,因为我已经完成了 cf login 和 cf ic login。此外,它给我的提示是用户名、密码和电子邮件地址。不过,我输入了该信息,但它总是显示无效的用户名/密码。
是 bluemix 有问题还是我做错了什么?
【问题讨论】:
-
如果您尝试
cf ic push registry.ng.bluemix.net/gormanm/mockchain:latest,您会看到同样的错误吗? -
我得到 FATA[0000] 来自守护进程的错误响应:405 Method Not Allowed
-
你能确保你有最新的 cli 可用吗?运行“cf ic update”,它会告诉你是否有可用的更新。
-
是的,这似乎是问题的一部分:(1) 我的 cf 客户端与 bluemix 上的版本不匹配(并且 cf ic update 是更新我的客户端的第一步)和 (2)当我进行 cf ic login 时,它无法与我的本地 Docker 守护进程对话,因为我没有将 DOCKER_HOST 设置为 tcp://192.168.0.16:2375(这是我的本地 Docker 守护进程运行的地方)。问题解决了。
标签: image docker push ibm-cloud