我使用的是 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 的代码但不起作用。
答案 0 :(得分:0)
确保:
export CONTAINER_REGISTRY=docker.io/your_username
设置环境变量(或在您的 ~/.bash_profile
中并运行 source ~/.bash_profile
)。.docker/config.json
的密码不是纯文本而是 base64,例如 echo -n 'username:password' | base64
的输出docker build
和 docker push
是两个独立的命令,在您的示例中,它们被视为一个命令,与本书不同。