containerd / accelerated-container-image

A production-ready remote container image format (overlaybd) and snapshotter based on block-device.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Question: multi-platform image support

djdongjin opened this issue · comments

What would you like to be added?

Ask here instead of discussion since it may be a feature request. Feel free to move to discussion if it's already supported, thanks!

I wonder if overlaybd currently supports multi-platform images (e.g., an image index consisting of an amd manifest and an arm image manifest), e.g.:

  1. Does the image convertor support multi-platform image conversion/build?
  2. Does the image convertor support cross-platform image conversion (e.g. convert an arm image on an x86 VM)
  3. Does overlaybd snapshotter support multi-platform image (I guess yes since containerd will select the platform-specific image beforehand?)

Thanks!

Why is this needed for Accelerated Container Image?

Multi-platform images are common as a way to organize an image for different platform within a single unit.

Are you willing to submit PRs to contribute to this feature?

  • Yes, I am willing to implement it.
  1. Not supported yet, but we already have an implementation around this, I will be opening a PR soon.
  2. Yes, the convertor is platform-independent.
  3. Yes, just as you guessed.

Not supported yet, but we already have an implementation around this, I will be opening a PR soon.

Great! Look forward to the PR. (I guess the workflow will be like below?)

  1. given a multi-platform image index (with, e.g., one x86 image manifest and one ARM manifest)
  2. run the conversion on a x86 (or ARM) machine.
  3. the x86 image will be converted natively, the ARM image will be converted cross-platform.
  4. then another multi-platform image index for the 2 converted image manifests is generated.

Thanks @WaberZhuang for the update!

cc @shuaichang