为 kubeflow 设置容器注册表

时间:2021-02-24 09:18:23

标签: docker kubeflow

我使用的是 ubuntu 20.04

在看书时 -> https://www.oreilly.com/library/view/kubeflow-for-machine/9781492050117/

在第 17 页,它说以下(仅相关部分)我不明白....

<块引用>

您需要存储称为 容器注册表。您的 Kubeflow 集群将访问容器注册表。

我将使用 docker hub 作为容器注册表。下一个

<块引用>

我们假设您已经通过环境变量设置了容器注册表
$CONTAINER_REGISTRY,在您的 shell 中”注意:如果您使用不在 Google Cloud 上的注册表 平台,您需要配置 Kubeflow 管道容器构建器才能访问 遵循 Kaniko 配置指南 -> https://oreil.ly/88Ep-

首先,我不明白如何通过环境变量设置容器注册表,我应该给它一个链接吗??

其次,我已经进入 Kaniko 配置指南并按照说明做了所有事情 -> 使用 "auth":"mypassword for dockerhub" 创建 config.json。之后在书中它说:

<块引用>

为了确保你的 docker 安装配置正确,你可以写一行 Dc 和 将其推送到您的注册表。”

<块引用>

示例 2.7 指定新容器构建在 Kubeflow 之上 容器

FROM gcr.io/kubeflow-images-public/tensorflow-2.1.0-notebook-cpu:1.0.0
<块引用>

示例 2.8 构建新容器并推送到注册中心使用

IMAGE="${CONTAINER_REGISTRY}/kubeflow/test:v1" 
docker build  -t "${IMAGE}" -f Dockerfile . docker push "${IMAGE}"

我已经创建了 Dockerfile,其中包含来自 Example2.7 的代码,然后运行来自 Example2.8 的代码但不起作用。

1 个答案:

答案 0 :(得分:0)

确保:

  1. 您在终端中使用 export CONTAINER_REGISTRY=docker.io/your_username 设置环境变量(或在您的 ~/.bash_profile 中并运行 source ~/.bash_profile)。
  2. 您的 .docker/config.json 的密码不是纯文本而是 base64,例如 echo -n 'username:password' | base64 的输出
  3. docker builddocker push 是两个独立的命令,在您的示例中,它们被视为一个命令,与本书不同。