Update image export to support Docker format#3172
Conversation
63da395 to
28c3ff8
Compare
|
This seems causing two issues when the image name lacks tag
A workaround would be to append |
|
The intent is to normalize the names that go into the |
cb12b2d to
9e18e5c
Compare
Add manifest.json file which is used by Docker to import images. Signed-off-by: Derek McGowan <[email protected]>
9e18e5c to
4754d2a
Compare
Codecov Report
@@ Coverage Diff @@
## master #3172 +/- ##
=======================================
Coverage 45.22% 45.22%
=======================================
Files 111 111
Lines 11975 11975
=======================================
Hits 5416 5416
Misses 5725 5725
Partials 834 834
Continue to review full report at Codecov.
|
1 similar comment
Codecov Report
@@ Coverage Diff @@
## master #3172 +/- ##
=======================================
Coverage 45.22% 45.22%
=======================================
Files 111 111
Lines 11975 11975
=======================================
Hits 5416 5416
Misses 5725 5725
Partials 834 834
Continue to review full report at Codecov.
|
AkihiroSuda
left a comment
There was a problem hiding this comment.
LGTM, but it would be better if we can manually set org.opencontainers.image.ref.name via a CLI flag. Can be a follow-up PR.
| cli.StringFlag{ | ||
| Name: "oci-ref-name", | ||
| Value: "", | ||
| Usage: "override org.opencontainers.image.ref.name annotation", |
There was a problem hiding this comment.
The problem is this annotation is so poorly defined that is unclear what the correct behavior is when outputting multiple images. I agree we should solve this in a follow up to make sure we come up with a good solution for generating OCI indexes in a sane manner when multiple images are involved.
|
LGTM |
Add manifest.json file which is used by Docker to import images.
This change adds the
manifest.jsonfile by default as the size of it is small. Containerd will still always prefer OCI layout when available on the newest version of Docker will do the same. Added a flag to disable adding this files.Additionally updated the exporter to exclude adding manifests and their subobjects when
--all-platformsis not provided. This more closely matches the behavior of pull, so pull/fetch + export will work, and pull/fetch --all-platforms + export --all-platforms will work.