0

我正在使用 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 login 命令与 Minikube docker 环境一起使用,而不是配置基本的 docker 环境吗?

4

1 回答 1

1

正如评论中提到的,docker CLI 是推送到注册表和从注册表中提取的先决条件。

应该可以使用minikube ssh允许您访问 minikube 中的 docker 守护程序来 ssh 进入 minikube。然后,您需要安装 Bluemix cli 和 cr 插件。然后应该可以从那里推送您的图像。

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

bx ic build -t registry.ng.bluemix.net/<namespace>/<image>:<tag> DOCKERFILE_PATH

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

于 2017-09-06T05:39:35.000 回答