Open stephenjudkins opened 4 months ago
Thanks for your report. This is tracked in https://github.com/containers/image/issues/1270 ; fixing that could break uploads to some registries.
As described there, the code now allows forcing compression to happen, ~avoiding the MIME type inconsistency. That option does not currently exist in Skopeo, it could be added.
Got it. My workaround now is to first push to a dir:
and compress and then push the repository, which isn't too burdensome. Would be nice if skopeo could do this directly. I'll also look at a PR in the upstream tool (nix dockertools) that's creating the upstream package and seeing if it can just compress the layers there
To be clear, this was not docker-archive
. It was Nix dockerTools
. Here's the manifest.json
it creates:
[
{
"Config": "13644826e3861fa657c4f2f92507dd1cfa49df418e415848c1ba8236a0b9ec7d.json",
"RepoTags": [
"lambdaify-cowsay:sd7qj2zb884f1vr04vbvqkg7pi21lkjb"
],
"Layers": [
"e719c9bac8ba3f1aac6ab6d3dbd006be2bee3dca4030e0fca96297ba72bdb569/layer.tar",
"bc66d165bafbd6e4f8ae0b7b4f7e2c2ee7ed104ec033064ae2eb2c5fb8b9ba13/layer.tar",
"ffdc9f7eef9b8ab8eaa574fbb46b6bae67da05e28a06673a050e65e282fc8075/layer.tar",
"e3a28d402ebe81d6a75162bd44f6fb9c8cc36573d7442d1424e3935ab05cf658/layer.tar",
"d15644b70db264dbb5e3276d8eb4270e38f4e4948979b6d4a2e9e0dc7e4b9a9b/layer.tar",
"209087dc5746df140db7b23044954a231e757f9cd8d47ae72c573e79cc51e8b9/layer.tar",
"767b335f27daae8a8eb46a23237b7e53317a888389451617c51d328dd4522893/layer.tar",
"ff09b2f841e0a24bd19d286a920b152e2bfb69e78474f9d2b098f3cc9ca3651d/layer.tar",
"237ac55de4e0cd14fc0a46899bb6a0d57dcbffd669ce06c3d9d8b2b3b66eb2ea/layer.tar",
"3117be9a0a806e63f62c269522673770113a6700fe3be7b59889bdf5fc0b22d4/layer.tar",
"47f7e9765eb2f923ad057b94a467e68bd88527fa1c1760264b8b8d2179be72fc/layer.tar",
"12e851f11e10e943c8f0255bbe1b38e033389c3d1a1ffcda2be329636aca02c9/layer.tar",
"b9322a4589b2492fbc9a3b6836e4f9d4b81a5a9b290a5d91c78daaa138b56200/layer.tar",
"d2a303717fe9d19f091f594b8cdbbbf3260b94869582b56cf4136aacdd69e25d/layer.tar",
"12166ccb22c63af4103ee487b560c2d30c71659509beeb02cf7003a03400eafa/layer.tar",
"da381933e68eca7e83ff1cd35fe906b4c4e5d13310aeea8c0669914e89281b57/layer.tar",
"af8eccd692f27910da2222754a3782c0939b3adc936d7813c0805d044b18ddd1/layer.tar",
"eb2e6e1da446e0f69a3beedf3b23e7c61b310617957526c4636c798263dfc8b2/layer.tar"
]
}
]
Would you care to file a Skopeo PR to expose https://github.com/containers/image/pull/2068 ? That might be the simplest way to do this in one step.
(“docker-archive
creates” refers to the in-memory manifest created when reading the docker save
-formatted tarballs.)
Thanks for the context!
A friendly reminder that this issue had no activity for 30 days.
Steps to reproduce:
test.tar
) that uses uncompressed tarballs as layersskopeo copy docker-archive:test.tar dir://out
out/manifest.json
has layers specified as"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip"
e719c9bac8ba3f1aac6ab6d3dbd006be2bee3dca4030e0fca96297ba72bdb569/layer.tar: POSIX tar archive