devcontainers / devcontainers/cli
Missing manifest digest when building and pushing multi-platform images
- 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
```
```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
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