OCI images in yocto image


Peter Bergin
 

Hi,

I'm exploring the world of containers combined with Yocto. I can build a container image and bundle that one with my rootfs image. The container image is stored in the rootfs as a tar-file of a OCI image spec with the content blobs, index.json and oci-layout. As per the description in classes/image-oci.bbclass the way to run the container is to unpack the file and the create the OCI runtime bundle and start it with runc.

I have played around with docker and tried to import OCI image directly in to docker store but have not succeeded. Anyone that knows if it is possible? 'docker image import <oci-image>.tar does not give any errors and the image shows up in 'docker images' but does not import the correct rootfs.

When creating the OCI image in image-oci.bbclass the process starts with a bundle that is packaged as an image and compressed to a tar-file. Given the above the whole process needs to be reverted on target to start a container from that image. It should then be possible to just install the bundle directly on target rootfs that directly can be started with runc. Are there any drawbacks with this? I can see that a tar-file is easier to distribute and install afterwards but my question related to directly integrating an OCI-image to a Yocto rootfs-image.

Best regards,

/Peter

Join meta-virtualization@lists.yoctoproject.org to automatically receive all group messages.