使用BlueMix Container Registry服务而不运行本地docker

时间:2017-09-04 18:35:39

标签: docker kubernetes ibm-cloud minikube container-registry

我正在使用Minikube测试我在IBM Bluemix kubernetes服务中部署的所有内容。我的Macbook docker环境配置为使用Minikube,我不会在MacBook中启动标准的基本Docker守护程序/服务。我只是:

eval $(minikube docker-env)

它工作得很好,我在Minikube中使用相同的yaml文件,然后我应用于Bluemix,因为我使用Docker和Minikube图像注册表。问题:当我尝试登录BX CR从Minikube注册表中推送图像时,我得到:

MacBook-Pro:Docker and Kubernetes icordoba$ bx cr login
Logging in to 'registry.ng.bluemix.net'...
FAILED
Failed to 'docker login' to 'registry.ng.bluemix.net' with error: Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?). Using system default: https://index.docker.io/v1/
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
.

似乎bx cr登录命令需要本地docker主机守护程序运行所以我需要将图像构建到Minkube注册表中,在Minikube中测试,关闭它,启动Docker,再次构建映像我的docker注册表,登录到bx cr并推送图像...

我可以让bx cr登录命令与Minikube docker环境配合使用,而不是配置基本的docker环境吗?

1 个答案:

答案 0 :(得分:1)

正如评论中所提到的,docker CLI是推送和推出注册表的预先要求。

应该可以使用if not np.isfinite(prop).all() ssh进入minikube,允许您访问minikube中的docker守护程序。然后,您需要安装Bluemix cli和cr插件。然后应该可以从那里推送你的图像。

或者,您可以安装找到here的IBM-Containers插件。然后,您可以在Bluemix中构建容器,它会自动将图像推送到Container Registry中,以便与Kubernetes一起使用。这将允许您在不访问docker守护程序的情况下构建和推送映像。

minikube ssh

(根据您希望将图像推送到的区域调整注册表区域前缀)