Changes made to containerd to allow Linux containers to run on FreeBSD

The containerd project has adopted a set of changes that integrates runtime runj support and allows FreeBSD to use OCI-compliant Linux-based container images, such as Docker images. In the changelog, an example of successfully running an image with Alpine Linux in FreeBSD is given. $ sudo ctr run --rm --runtime wtf.sbk.runj.v1 --tty --snapshotter zfs docker.io/library/alpine:latest test sh -c 'cat /etc/os-release && uname -a' NAME="Alpine Linux" ID=alpine VERSION_ID=3.16.0 PRETTY_NAME="Alpine Linux v3.16" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/ issues" Linux 3.17.0 FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC x86_64 Linux

Despite the experimental status of the runj project and the limited set of functionality at the moment, even in this form, the project can be useful for personal experiments, simplifying solution modeling (Proof Of Concept), local development, running tests before deploying to cloud systems, and working out operability for cases when there is no way to switch to tested and industrial solutions on other platforms, but the need for containerization has matured. It requires installed jail, jls, jexec and ps.

It's worth noting that runj is a personal project of Samuel Karp, an Amazon engineer developing the Bottlerocket Linux distribution and container isolation technologies for AWS, who is also an independent member of the Technical Oversight Board of the OpenContainers project. After bringing runj to the required level, the project can be used to replace the regular runtime in Docker and Kubernetes systems, using FreeBSD containers instead of Linux to run. The OCI runtime currently implements commands for creating, deleting, starting, forcibly terminating and evaluating the status of containers, as well as setting the process, mount points, and hostname.

Source: opennet.ru

Add a comment