【问题标题】:Buildpack - saving image: failed to write image to the following tagsBuildpack - 保存图像:无法将图像写入以下标签
【发布时间】:2021-04-13 07:06:53
【问题描述】:

我正在尝试将 buildpack 映像发布到私有 OCI 存储库。我正在使用--publish 选项。但是它失败并出现以下错误:

ERROR: saving image: failed to write image to the following tags: [java-maven-buildpack:1.0: HEAD https://index.docker.io/v2/library/java-maven-buildpack/blobs/sha256:cfe02c20a60fb987f86a2b5256b0c83cde981919d0953a7645cf2a9e2c7f6357: unexpected status code 401 Unauthorized (HEAD responses have no body, use GET for details)]

我正在使用以下命令创建 buildpack 并将其发布到 OCI 存储库。

pack buildpack package  java-maven-buildpack:1.0 --config ./java-maven-buildpack/package.toml --verbose --publish --format "image"

不知道我错过了什么。指向任何示例或文档的指针都会有所帮助。

【问题讨论】:

    标签: docker buildpack


    【解决方案1】:

    如果您将--publish 标志与pack 一起使用,则需要确保您有权访问要发布到的注册表。您可以通过docker login 进行此操作。

    还要确保您可以访问要发布到的repository。例如,如果您要发布到 docker hub 到您的个人命名空间,您可能需要类似

    pack buildpack package <hub-user>/java-maven-buildpack:1.0 --config ./java-maven-buildpack/package.toml --verbose --publish --format "image"

    【讨论】:

    • 谢谢@samj1912。我在做docker login。但是,我必须在 buildpack 名称前加上我们的私有注册表而不是 hub-user。例如:我可以使用pack buildpack package <ecr-url>/java-maven-buildpack:1.0 --config ./java-maven-buildpack/package.toml --verbose --publish --format "image" 发布
    【解决方案2】:

    您是否拥有 dockerhub 上的 java-maven-buildpack 存储库?

    如果没有,我建议你在 Dockerhub 上推送到你自己的帐户/存储库,使用:

    pack buildpack package  youraccount/java-maven-buildpack:1.0 --config ./java-maven-buildpack/package.toml --publish
    

    【讨论】:

      【解决方案3】:

      要将图像推送到私有注册表,您需要执行以下步骤:

      1.像这样标记您的图像:

      docker image tag <local-image>:<image-tag> <registry-host>:<ragistry-port>/<your-name-on-the-registry>/<remote-image-name>:<remote-image-tag>
      

      示例:

      docker image tag rhel-httpd:latest registry-host:5000/myadmin/rhel-httpd:latest
      
      

      注意:在此示例中,注册表位于名为 registry-host 的主机上并侦听端口 5000

      之后:

      2。推送你的图片:

      docker image push <registry-host>:<ragistry-port>/<your-name-on-the-registry>/<remote-image-name>:<remote-image-tag>
      

      示例:

       docker image push registry-host:5000/myadmin/rhel-httpd:latest
      
      

      我希望这可以帮助您解决问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-19
        • 2018-11-20
        • 1970-01-01
        • 2019-02-25
        相关资源
        最近更新 更多