devcontainers / devcontainers/cli

Missing manifest digest when building and pushing multi-platform images

Đang mở
#1,062 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
TypeScript
Star
3k
Fork
457
Merge trung bình
13 giờ 17 phút
Pull request đã merge (30 ngày)
6

Mô tả

The following build command results in images lacking manifests.

However, the cache image does have a manifest.
```shell
$ devcontainer build \
--workspace-folder . \
--cache-from registry.gitlab.com/jshbrntt/devcontainers/base/cache:latest \
--cache-to registry.gitlab.com/jshbrntt/devcontainers/base/cache:latest \
--platform linux/amd64 \
--platform linux/arm64 \
--image-name registry.gitlab.com/jshbrntt/devcontainers/base:latest
```
Image

```shell
$ docker manifest inspect registry.gitlab.com/jshbrntt/devcontainers/base:latest
{
"schemaVersion": 2,
"mediaType": "application/vnd.oci.image.index.v1+json",
"manifests": [
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 2000,
"digest": "sha256:392a7bfed82a8840bcde04a902dff2a4ead53ebfefd5f3dfdafdba0a4ed502e9",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 2000,
"digest": "sha256:e2837457d0638f4c5b759e19f331035fcdd494b44696a1051d24961b221ff0b5",
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 566,
"digest": "sha256:57e6f2e1ad024393f23134b98db85ab518d6b3719f3efd562d6ab63c84f8b56d",
"platform": {
"architecture": "unknown",
"os": "unknown"
}
},
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 566,
"digest": "sha256:d8fcfd1cff48c696ad50c0fab56fc00d6a779c134a7f0cf175d95fc7d018ea1d",
"platform": {
"architecture": "unknown",
"os": "unknown"
}
}
]
}
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện lệnh build devcontainer được cung cấp với hai nền tảng, sau đó kiểm tra image đã push bằng docker manifest inspect và so sánh nó với manifest của image cache. Truy dấu entry point build-and-push đa nền tảng của CLI để xác định manifest đã publish khác biệt ở đâu. Hoàn tất khi image đã push hiển thị các digest manifest nền tảng như mong đợi mà không có hiện tượng thiếu manifest đã được báo cáo.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
docker, typescript
Lĩnh vực
cli, devops, infrastructure
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
42/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.