containers

This is an old revision of the document!


FreeBSD introduced its container, OS-level virtualization primitive in 1999 in the form of a security-oriented isolation framework and subsystem called Jails. Similar to OvenVZ Containers in 2005, Solaris Zones, LXC, Docker and other implementations, FreeBSD Jails allow isolation of applications or entire stacks with their own processes, filesystems and users, whilst using the same host operating system kernel.

These third-party tools aim to simplify and speed up the process of creating and managing FreeBSD jail-based containers on individual hosts, and many include additional support and integration for FreeBSD features such as bhyve virtualization, ZFS, Virtual Networks (VNET), Templating, Import/Export among others.

Command-line (shell) tool and automation framework for jail-based containers.

First Release: 2018 1) Latest Release: 2022 (0.9.2022*)

Supports:

  • FreeBSD Features: ZFS, VNET
  • Other Features: Template Creation, Import, Export
  • Has a container / template registry

First Release: 2018 2) Latest Release: 2022 (0.15.3)

Command-line (shell) tool for jail-based containers.

Supports:

  • FreeBSD Features: ZFS, pf, rctl.
  • Orchestration with HashiCorp Nomad 3)

Command-line and TUI (shell) tool for jail-based containers.

First Release: ~2013 4) Last Release: 2022 (13.1.4)

Supports:

  • FreeBSD Features: ZFS, VNET, bhyve, Xen
  • Other Features: Templates and Profiles

None of the above orchestration tools have a “run a plain vanilla linux inside the container” feature, but the start/stop/templating feature of them does not prevent a manually created plain-vanilla-linux-jail.

Command-line (Python, originally shell) tool for jail-based containers.

First Release: ~2016 5) Latest Release: 2019 (1.2)

Supports:

  • FreeBSD Features: ZFS (required), VNET
  • Other Features: Template Creation, Import, Export

Re-implementation (Python) of iocage.

First Release: Unknown, but ~2017 6) Latest Release: 2019 (0.8.2)

Fork of original (shell) iocage

First Release: ~2016 (“v2.0.0”) 7) Latest Release: 2017 (2.1.2)

Command-line (shell) tool for jail-based containers.

First Release: 2005 8) Latest Release: 2015 (3.4.2)

Supports:

  • FreeBSD Features: ZFS, VNET (via manual scripting)
  • Other Features: Template Creation, Import, Export

The container tools above can be used as a base for multi-host orchestration, by exporting containers from one host, and either moving the container to another host, or by utilising shared storage (eg: SAN) or ZFS to switch container datasets from one host to another and importing it on the target host.

Additionally the following FreeBSD container orchestration tools are available:

XXX: add some FreeBSD derived distributions which have their focus (not only) on container virtualisation.

  • CloneOS - WebUI for bhyve, jails, xen, …

  • containers.1665360781.txt.gz
  • Last modified: 2022/10/10 00:13
  • by KubilayKocak