bazelbuild / rules_docker

Rules for building and handling Docker images with Bazel

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

container_pull failed for images layers with MediaType "application/vnd.docker.image.rootfs.diff.tar"

HDYA opened this issue Β· comments

🐞 bug report

Affected Rule

The issue is caused by the rule:
  • container_pull

Is this a regression?

Yes, the previous version in which this bug was not present was: ....

Not sure, we have tested v0.24.0 and v0.25.0 and both failed

Description

A clear and concise description of the problem...

we found that the rule container_pull seems to assume the MediaType of image layers is gzip, even when the actual MediaType is application/vnd.docker.image.rootfs.diff.tar

πŸ”¬ Minimal Reproduction

  1. prepare an image with MediaType application/vnd.docker.image.rootfs.diff.tar
  2. write the following configs in WORKSPACE
container_pull(
    name = "image_source",
    digest = "<IMAGE_DIGEST>",
    registry = "<IMAGE_REGISTRY>",
    repository = "<IMAGE_REPOSITORY>",
)
  1. write the following configs in ``
    container_image(
        name = "build_image",
        base = "@image_source//image",
        architecture = "amd64",
        visibility = ["//visibility:public"],
    )
  1. run bazelisk build //:build_image

πŸ”₯ Exception or Error





2023/08/11 18:56:25 Image pull was unsuccessful: unable to save remote image : unable to write image layers: unable to write image layer: unable to get the contents of layer 0: gzip: invalid header

🌍 Your Environment

Operating System:

  
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.2 LTS
Release:        22.04
Codename:       jammy
  

Output of bazel version:

  
Bazelisk version: v1.11.0
Build label: 6.3.2
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Tue Aug 8 15:48:33 2023 (1691509713)
Build timestamp: 1691509713
Build timestamp as int: 1691509713
  

Rules_docker version:

  
v0.24.0 and v0.25.0
  

Anything else relevant?