如何使用 buildpack 的 `pack build --publish` 发布 docker 图像?

How to publish a docker image using buildpack's `pack build --publish`?

我正在使用 buildpack 构建一个 docker 容器,我想将其发布到远程容器注册表。

我正在使用这个命令:

pack build myapp --builder heroku/buildpacks:20 --publish

但是,这会产生以下错误:

ERROR: failed to : ensure registry read access to myapp
ERROR: failed to build: executing lifecycle: failed with status code: 1

如何指定远程注册表 URL 和凭据?我在 运行 我的命令之前尝试了 运行 docker login 但收到了同样的错误。 documentation 仅表示以下内容:

--publish                     Publish to registry

它遵循与docker tagdocker push相同的原则。

  1. 您需要先docker login到您的目标注册表。 pack 还将使用它来对您的目标注册表进行身份验证。

  2. 您需要使用格式 <registry-host>:<port>/<project>/<image>:<tag> 作为图像名称的值。这与 docker push 相同,这就是两个实用程序知道将图像发送到何处的方式。

    https://docs.docker.com/engine/reference/commandline/push/#push-a-new-image-to-a-registry

例如:

pack build docker.io/user/myapp:v1.0 --builder heroku/buildpacks:20 --publish