bazelbuild / bazelbuild/rules_docker

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

Open
#2,266 1 comment 1 reaction 0 assignees View on GitHub
Can Close?
Dominant language
Starlark
Stars
1.1k
Forks
689
PR merge metrics
No merged PRs in 30d

Description

# 🐞 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 = "",
registry = "",
repository = "",
)
```

3. write the following configs in ``

```
container_image(
name = "build_image",
base = "@image_source//image",
architecture = "amd64",
visibility = ["//visibility:public"],
)
```

4. 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?**

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.