Container Management Software

A container platform is software that creates, manages, and secures containerized applications. Container management software allows for more straightforward, faster networking and container orchestration. These platforms handle several containerized application processes. Container management refers to practices that manage and sustain containerization software. Container management tools automate application or systems containers’ creation, deployment, destruction, and scaling.

A containerization approach to software development isolates processes that share an OS kernel, unlike virtual machines, which require their own and bind application libraries and dependencies into one deployable unit. This makes containers lightweight, requiring only the host OS’s application configuration data and code. This design also improves interoperability compared to VM hosting. Each container instance can scale independently with need.

Docker

Docker helps software developers bring their ideas to life by conquering the complexity of app development. Docker simplifies and accelerates development workflows with an integrated dev channel and by consolidating application components. Docker is energetically used by millions of developers around the globe. Docker Desktop and Docker Hub provides unmatched simplicity, agility, and choice. https://www.docker.com/

Podman

Podman is an open-source project available on most Linux platforms and resides on GitHub. Podman is a daemon-less container engine for developing, managing, and running Open Container Initiative (OCI) containers and container images on your Linux System. Podman provides a Docker-compatible command line front end that can simply alias the Docker CLI, alias docker=podman. Podman also provides a socket-activated REST API service to allow remote applications to launch on-demand containers. This REST API also supports the Docker API, allowing users of docker-py and docker-compose to interact with the Podman as a service. https://podman.io/

BitNami Application Stacks

Bitnami provides a catalog of over 120 curated server applications and development environments that can be installed with one click, either locally, in a VM, or the cloud. Bitnami apps work out of the box, with no dependency or compiling worries, and regularly updated images. https://docs.bitnami.com/general/apps/

LXC Linux Containers

linuxcontainers.org is the umbrella project behind LXD, LXC, LXCFS, and distro builder. The goal is to offer a distro and vendor-neutral environment for developing Linux container technologies. LXC Linux Containers focuses on providing containers and virtual machines that run full Linux systems. While VMs supply a complete environment, system containers offer an environment as close as possible to the one you’d get from a VM but without the overhead that comes with running a separate kernel and simulating all the hardware. https://linuxcontainers.org/

rkt

rkt is an application container engine developed for modern production cloud-native environments. It features a pod-native approach, a pluggable execution environment, and a well-defined surface area, making it ideal for integration with other systems. The core execution unit of rkt is the pod, a collection of one or more applications executing in a shared context. rkt allows users to apply different configurations (like isolation parameters) at pod-level and more granular per-application levels. rkt’s architecture means that each pod executes directly in the classic Unix process model (i.e., there is no central daemon) in a self-contained, isolated environment. rkt implements a modern, open, standard container format, the App Container spec, but can also execute other container images, like those created with Docker. https://github.com/rkt/rkt

Singularity

Singularity is a free and open-source computer program that performs operating-system-level virtualization, known as containerization. One of the main uses of Singularity is to bring containers and reproducibility to scientific computing and the high-performance computing world. https://sylabs.io/

Crane

Crane is a minimalist container image builder. You can extend an existing container image with custom pip packages without writing any Dockerfile. Crane generates Dockerfile that installs packages according to your settings and builds the container image with your local docker engine. You can also push images to your Docker Hub registry. Container images are used in many different use cases, such as ML. There are lots of ready-to-run container images with Jupyter and various libraries. However, people still want to customize images, mostly done by authoring Dockerfile with commands and installing additional packages. https://github.com/InfuseAI/crane

Libre.sh

Libre.sh is a Kubernetes distribution that hosts free software for the people. Think of it as the Debian of Kubernetes distribution for hosted software or a distributed yunohost. Currently contains documentation – From Hetzner to Nextcloud. https://libre.sh/

Containerd

containerd is a container runtime that manages the lifecycle of a container on a physical or virtual machine (a host). A daemon process creates, starts, stops, and destroys containers. It can also pull container images from container registries, mount storage, and enable networking for a container. https://containerd.io/

OpenVZ

OpenVZ is an operating-system-level virtualization technology for Linux. It allows a physical server to run multiple isolated operating system instances, called containers, virtual private servers, or virtual environments. OpenVZ is similar to Solaris Containers and LXC. https://openvz.org/

Packer

Packer is HashiCorp’s open-source tool for creating machine images from source configuration. You can configure Packer images with an operating system and software for your specific use case. Terraform configuration for a compute instance can use a Packer image to provision your instance without manual configuration. https://www.packer.io/

FreeBSD Jails

The jail mechanism implements FreeBSD’s OS-level virtualization that allows system administrators to partition a FreeBSD-derived computer system into several independent mini-systems called jails, all sharing the same kernel, with very little overhead. https://docs.freebsd.org/en/books/handbook/jails/

CRI-O

CRI-O implements the Kubernetes CRI (Container Runtime Interface) to enable compatible runtimes using OCI (Open Container Initiative). It is a lightweight alternative to using Docker as the runtime for Kubernetes. https://cri-o.io/

Turbo.net

Turbo allows you to package applications and their dependencies into a lightweight, isolated virtual environment called a “container.” Container experts can then run containerized applications on any Windows machine with Turbo installed, no matter the underlying infrastructure. This eliminates installs, conflicts, breaks, and missing dependencies. Turbo containers are built on top of the Turbo Virtual Machine. This application virtualization engine provides lightweight namespace isolation of core operating system objects such as the filesystem, registry, process, networking, and threading subsystems. https://turbo.net/

Arkose

Desktop application containers are made user-friendly. Arkose is currently made of a Command line utility with C helper, a GUI for integration in the gnome desktop, Nautilus integration, and a Wrapper for regular apps to have them start in a container. It lets you start any installed binary in a configurable container. You can choose how much disk space you want to give it, if it should have network access and if it can access your /home. Changes are stored through copy-on-write using aufs2, so the sandboxed application won’t notice it’s not running directly on your laptop, but you’ll be protected from most harm it could make. https://launchpad.net/arkose

Distrobox

Use any Linux distribution inside your terminal. Enable backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable using. Distrobox uses podman or Docker to create containers using the Linux distribution of your choice. The created container will be tightly integrated with the host, allowing sharing of the HOME directory of the user, external storage, external USB devices and graphical apps (X11/Wayland), and audio. https://github.com/89luca89/distrobox

Chaperone Process Manager

Chaperone is a lightweight alternative to process environment managers like systemd or upstart. While Chaperone delivers a comprehensive feature set, including dependency-based startup, Syslog logging, zombie harvesting, and job scheduling, it accomplishes this in a single self-contained operation that can run as a “system init” daemon or can run in userspace. This makes Chaperone an ideal tool for managing “small” process spaces like Docker containers while still providing the system services many daemons expect. https://garywiz.github.io/chaperone/

Kubevious

Kubevious Guard is a cloud-native best practices and configuration validation enforcement tool for Kubernetes clusters and applications. It uses built-in DevOps validators and the Rules Engine to detect and enforce custom policies and conditions. What makes Kubevious Guard unique and different is the ability to enforce cross-manifest policies. That allows simplified enforcement of complex policies, such as preventing MySQL databases from getting exposed outside of the cluster or using high-throughput storage classes for critical stateful workloads. Guard is accessible through a shell script and easily integrated into any CI/CD pipeline. The user must pipe changes into the Guard script and wait for the entire change package to be validated. https://kubevious.io/

DataCol

Datacol provides a robust PaaS control layer on top of AWS/GCP. Datacol helps you create Heroku-like infrastructure for deploying container-native applications on the cloud. It is a deployment platform that simplifies the process developers use to build, deploy and manage applications in the cloud. It aims to make it trivially easy to deploy a container-based microservices architecture. Datacol can be installed into your cloud account and uses managed cloud services (like Google Cloud Platform GCR and ContainerBuilder) under the hood but automates it all away to give you a better deployment experience. It uses Docker under the hood, so if you want to customize anything, you can add a Dockerfile to your project. https://github.com/datacol-io/datacol

Apache Mesos

Apache Mesos is an open-source cluster manager that handles workloads in a distributed environment through dynamic resource sharing and isolation. Mesos is suited for deploying and managing applications in large-scale clustered environments. https://mesos.apache.org/