Karton allows you to run Linux programs on macOS.
Karton is an open-source software designed to allow the execution of programs for Linux within macOS or other Linux distributions. At the base of all, there are Docker containers.
Although for many, it would perhaps be preferable to the reverse, the Karton project allows you to run Linux programs on macOS. As is perhaps the most interesting aspect: Karton takes advantage of the containers and runs an instance of Linux via Docker.
The goal of Karton is to ensure that users of macOS who need to use software developed for Linux can do it with maximum simplicity, having a stable and high-performance platform available – factors not guaranteed by the use of alternative solutions such as the virtual machines.
Although there is already a project to use the Linux software on macOS, called Noah, it is a totally different implementation that requires system calls to the Linux kernel to be translated in real time into calls to the Darwin kernel, with obvious performance penalties.
It was recently released, as Phoronix writes, version 1.0, which brings with it the management of file system consistency, better synchronization of the clock in the container, the possibility of setting environment variables from the command line and other news minors.
Karton is not only available for macOS, but also for Linux – you can use it to run software for another architecture, such as ARMv7 or ARMv8 in case the host operating system runs on an x86_64 machine. You can run images of Ubuntu, Fedora and CentOS.