awesome-linux-containers

Container framework guide

A curated collection of Linux container frameworks, libraries and software

A curated list of awesome Linux Containers frameworks, libraries and software

GitHub

2k stars
67 watching
171 forks
last commit: over 2 years ago
Linked from 8 awesome lists

awesomebest-practicescontainerslinux-containers

Awesome Linux Containers / Foundations

OPEN CONTAINER INITIATIVEThe Open Container Initiative is a lightweight, open governance structure, to be formed under the auspices of the Linux Foundation, for the express purpose of creating open industry standards around container formats and runtime
Cloud Native Computing FoundationThe Cloud Native Computing Foundation will create and drive the adoption of a new set of common container technologies informed by technical merit and end user value, and inspired by Internet-scale computing
Cloud Foundry FoundationThe Cloud is our foundry

Awesome Linux Containers / Specifications

Open Container Specifications3,247almost 2 years agoThis project is where the Open Container Initiative Specifications are written. This is a work in progress
App Container basics8,820over 6 years agoApp Container (appc) is an open specification that defines several aspects of how to run applications in containers: an image format, runtime environment, and discovery protocol
Systemd Container InterfaceSystemd is a suite of basic building blocks for a Linux system. It provides a system and service manager that runs as PID 1 and starts the rest of the system. If you write a container solution, please consider supporting the following interfaces
Nulecule Specification102over 9 years agoNulecule defines a pattern and model for packaging complex multi-container applications and services, referencing all their dependencies, including orchestration metadata in a container image for building, deploying, monitoring, and active management
Oracle microcontainer manifestoThis is not a new container format, but simply a specific method for constructing a container that allows for better security and stability
Cloud Native Application Bundle Specification958about 4 years agoA package format specification that describes a technology for bundling, installing, and managing distributed applications, that are by design, cloud agnostic

Awesome Linux Containers / Clouds

Amazon EC2 Container ServiceContainer management service that supports Docker containers and allows you to easily run applications on a managed cluster of Amazon EC2 instances
Google Cloud PlatformRun Docker containers on Google Cloud Platform, powered by Kubernetes. Google Container Engine actively schedules your containers, based on declared needs, on a managed cluster of virtual machines
JelasticUnlimited PaaS and Container-Based IaaS in a Joint Cloud Solution for DevOps
JoyentHigh-Performance Container-Native Infrastructure for Today's Demanding Real-Time Web and Mobile Applications
KubernetesManage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops
MesosphereThe Mesosphere Datacenter Operating System (DCOS) is a new kind of operating system that spans all of the machines in your datacenter or cloud. It provides a highly elastic, and highly scalable way of deploying applications, services and big data infrastructure on shared resources
OpenShift OriginOpenShift Origin is a distribution of optimized for continuous application development and multi-tenant deployment. Origin adds developer and operations-centric tools on top of Kubernetes to enable rapid application development, easy deployment and scaling, and long-term lifecycle maintenance for small and large teams
Warden283almost 10 years agoManages isolated, ephemeral, and resource controlled environments. Part of Cloud Foundry - the open platform as a service project
VirtuozzoA platform, built on Virtuozzo containers, that can be easily run on top of any bare-metal or virtual servers in any public or private cloud, to automate, optimize, and accelerate internal IT and development processes
RancherRancher is a complete, open source platform for deploying and managing containers in production. It includes commercially-supported distributions of Kubernetes, Mesos, and Docker Swarm, making it easy to run containerized applications on any infrastructure
Docker SwarmDocker Swarm is native clustering for Docker
Azure Container ServiceAzure Container Service optimizes the configuration of popular open source tools and technologies specifically for Azure
CIAOCloud Integrated Advanced Orchestrator for Intel Clear Linux OS
Alibaba Cloud Container ServiceContainer Service is a high-performance and scalable container application management service that enables you to use Docker and Kubernetes to manage the lifecycle of containerized applications
NomadHashiCorp Nomad is a single binary that schedules applications and services on Linux, Windows, and Mac. It is an open source scheduler that uses a declarative job file for scheduling virtualized, containerized, and standalone applications

Awesome Linux Containers / Operating Systems

CoreOsA lightweight Linux operating system designed for clustered deployments providing automation, security, and scalability for your most critical applications
RancherOSRancherOS is a tiny Linux distro that runs the entire OS as Docker containers
Project AtomicProject Atomic provides the best platform for your Linux Docker Kubernetes (LDK) application stack. Use immutable infrastructure to deploy and scale your containerized applications
Snappy Ubuntu CoreUbuntu Core is the perfect system for large-scale cloud container deployments, bringing transactional updates to the world’s favourite container platform
ResinOSA host OS tailored for containers, designed for reliability, proven in production
Photon3,060almost 2 years agoPhoton OS is a minimal Linux container host designed to have a small footprint and tuned for VMware platforms. Photon is intended to invite collaboration around running containerized and Linux applications in a virtualized environment
Clear Linux ProjectThe Clear Linux Project for Intel Architecture is a distribution built for various Cloud use cases
CargOSCargOS is a new lightweight, open source, platform for Docker hosts that aims for speed, manageability and security. Releases are built for 64-bit Intel/AMD CPUs
OSvOSv is the open source operating system designed for the cloud. Built from the ground up for effortless deployment and management, with superior performance
HypriotOSMinimal Debian-based operating systems that is optimized to run Docker. It made it dead easy use Docker on any Raspberry Pi
MCLMCL ( ) is a from scratch minimal Linux OS designed specifically to run containers. It has a small footprint of ~50MB and boots within seconds. It is currently optimized to run Docker

Awesome Linux Containers / Hypervisors

Docker30,735almost 2 years agoAn open platform for distributed applications for developers and sysadmins.
LXD2,888almost 2 years agoDaemon based on liblxc offering a REST API to manage LXC containers
OpenVZOpenVZ is container-based virtualization for Linux. OpenVZ creates multiple secure, isolated Linux containers (otherwise known as VEs or VPSs) on a single physical server enabling better server utilization and ensuring that applications do not conflict
MultiDocker53almost 8 years agoCreate a secure multi-user Docker machine, where each user is segregated into an indepentent container
Lithos112over 7 years agoLithos is a process supervisor and containerizer for running services. It is not intended to be system init, but rather tries to be a base tool to build container orchestration
containerdA container runtime which can manage a complete container lifecycle - from image transfer/storage to container execution, supervision and networking

Awesome Linux Containers / Containers

runc11,987almost 2 years agorunc is a CLI tool for spawning and running containers according to the OCS specification
Bocker11,950almost 9 years agoDocker implemented in around 100 lines of bash
Rocket8,820over 6 years agorkt (pronounced "rock-it") is a CLI for running app containers on Linux. rkt is designed to be composable, secure, and fast. Based on AppC specification
LXC4,711almost 2 years agoLXC is the well known set of tools, templates, library and language bindings. It's pretty low level, very flexible and covers just about every containment feature supported by the upstream kernel
Vagga1,864over 3 years agoVagga is a fully-userspace container engine inspired by Vagrant and Docker, specialized for development environments
libct105almost 9 years agoLibct is a containers management library which provides convenient API for frontend programs to rule a container during its whole lifetime
libvirtA big toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes)
systemd-nspawnSpawn a namespace container for debugging, testing and building. Part of
porto397over 3 years agoThe main goal of Porto is to create a convenient, reliable interface over several Linux kernel mechanism such as cgroups, namespaces, mounts, networking etc
udocker1,387about 2 years agoA basic user tool to execute simple containers in batch or interactive systems without root privileges
Let Me Contain That For You3,410about 11 years agoLMCTFY is the open source version of Google’s container stack, which provides Linux application containers
cc-oci-runtime417almost 9 years agoIntel Clear Linux OCI (Open Containers Initiative) compatible runtime
railcar1,118almost 7 years agoRailcar is a rust implementation of the opencontainers initiative's runtime spec. It is similar to the reference implementation runc, but it is implemented completely in rust for memory safety without needing the overhead of a garbage collector or multiple threads
Kata ContainersKata Containers is a new open source project building extremely lightweight virtual machines that seamlessly plug into the containers ecosystem
plash379about 2 years agoLightweight, rootless containers
runv827over 5 years agoHypervisor-based (KVM, Xen, QEMU) Runtime for OCI. Security by isolation
podman24,166almost 2 years agoFull management of container lifecycle
firecracker26,473almost 2 years agoFirecracker runs workloads in lightweight virtual machines, called microVMs, which combine the security and isolation properties provided by hardware virtualization technology with the speed and flexibility of containers
sysbox2,855almost 2 years agoSysbox is a "runc" that creates secure (rootless) containers / pods that run not just microservices, but most workloads that run in VMs (e.g., systemd, Docker, and Kubernetes), seamlessly
youki6,370almost 2 years agoA container runtime written in Rust
footloose1,590about 3 years agoContainers that look like Virtual Machines

Awesome Linux Containers / Sandboxes

FirejailFirejail is a SUID sandbox program that reduces the risk of security breaches by restricting the running environment of untrusted applications using Linux namespaces, seccomp-bpf and Linux capabilities
NsJail3,008almost 2 years agoNsJail is a process isolation tool for Linux. It makes use of the namespacing, resource control, and seccomp-bpf syscall filter subsystems of the Linux kernel
Subuser889about 4 years agoSecuring the Linux desktop with Docker
SnappySnappy Ubuntu Core is a new rendition of Ubuntu with transactional updates - a minimal server image with the same libraries as today’s Ubuntu, but applications are provided through a simpler mechanism
xdg-appxdg-app is a system for building, distributing and running sandboxed desktop applications on Linux
Bubblewrap4,010almost 2 years agoRun applications in a sandbox using Linux namespaces without root privileges, with user namespacing provided via setuid binary
singularity2,539almost 4 years agoUniversal application containers for Linux
Lxroot101almost 3 years agoLxroot is a flexible, lightweight, and safer alternative to chroot and/or Docker for non-root users on Linux

Awesome Linux Containers / Partial Access

nsenterRun program with namespaces of other processes. Part of the util-linux
ip-netnsProcess network namespace management. Part of the iproute2
unshareRun program with some namespaces unshared from parent. Part of the util-linux
python-nsenter139over 6 years agoThis Python package allows entering Linux kernel namespaces (mount, IPC, net, PID, user and UTS) by doing the "setns" syscall
butterPython library to interface to low level linux features (inotify, fanotify, timerfd, signalfd, eventfd, containers) with asyncio support
pyspaces88over 8 years agoWorks with Linux namespaces through glibc with pure python
CRIUCheckpoint/Restore In Userspace is a software tool for Linux operating system. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. CRIU integrated with Docker and LXC to implement Live migration of containers
Moby68,896almost 2 years agoA "Lego set" of toolkit components for containers software created by Docker

Awesome Linux Containers / Filesystem

container-diff3,761over 2 years agoA tool for analyzing and comparing container images
buildah7,518almost 2 years agoA tool which facilitates building OCI container images
skopeo8,431almost 2 years agoWork with remote images registries - retrieving information, images, signing content
img3,916over 2 years agoStandalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder
dgr249over 5 years agoCommand line utility designed to build and to configure at runtime App Containers Images (ACI) and App Container Pods (POD) based on convention over configuration
Whaler1,074over 4 years agoWhaler is designed to reverse engineer a Docker Image into the Dockerfile that created it
dive48,436about 2 years agoA tool for exploring each layer in a docker image
go-containerregistry3,191almost 2 years agoGo library and CLIs for working with container registries
kaniko14,997almost 2 years agoKaniko is a tool to build container images from a Dockerfile, inside a container or Kubernetes cluster
umociUmoci is a tool to manipulate OCI container images, and can be used as a rudimentary build tool
docker pushrm141over 2 years agoA Docker CLI plugin that that lets you push the README.md file from the current directory to a container registry. Supports Docker Hub, Quay and Harbor

Awesome Linux Containers / Dashboard

LXC-Web-PanelWeb panel for LXC on Ubuntu
LimanBasic docker monitoring web application
portainer31,343almost 2 years agoLightweight Docker management UI
swarmpit3,135over 2 years agoLightweight mobile-friendly Docker Swarm management UI

Awesome Linux Containers / Best practices

The Twelve-Factor AppThe twelve-factor app is a methodology for building software-as-a-service apps
Container Best PracticesA collaborative project to document container-based application architecture, creation and management from Project Atomic

Awesome Linux Containers / Security / Tools

Docker bench security9,195almost 2 years agoThe Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production
CoreOS ClairOpen Source Vulnerability Analysis for your Containers
bane1,180about 6 years agoCustom AppArmor profile generator for docker containers
OpenSCAP238almost 10 years agoThe OpenSCAP ecosystem provides multiple tools to assist administrators and auditors with assessment, measurement and enforcement of security baselines
drydock65over 10 years agoDrydock provides a flexible way of assessing the security of your Docker daemon configuration and containers using editable audit templates
triremeSecurity by segmentation for Docker and Kubernetes
goss5,633almost 2 years agoQuick and Easy server testing/validation
sockguard143about 5 years agoA proxy for docker.sock that enforces access control and isolated privileges
gvisor15,931almost 2 years agogVisor is a user-space kernel, written in Go, that implements a substantial portion of the Linux system surface. It includes an Open Container Initiative (OCI) runtime called runsc that provides an isolation boundary between the application and the host kernel. The runsc runtime integrates with Docker and Kubernetes, making it simple to run sandboxed containers
docker-explorer531almost 2 years agoA tool to help forensicate offline docker acquisitions
oci-seccomp-bpf-hook305almost 2 years agoOCI hook to trace syscalls and generate a seccomp profile
CIS Security Benchmarks
Are Docker containers really secure?
Bringing new security features to Docker
Docker, Linux Containers (LXC), and security
For containers, security is problem #1
Linux Container Security
Ask HN: Best Linux sandbox?
CIS Docker 1.6 Benchmark v1.0.0
Understanding docker security and best practices
Update on Ubuntu Phone security issue
Don't expose the Docker socket (not even to a container)
RedHat Blog
Introduction to Linux Containers
What’s Next for Containers? User Namespaces
Architecting Containers Part 1: Why Understanding User Space vs. Kernel Space Matters
Architecting Containers Part 2: Why the User Space Matters
Secure Your Containers with this One Weird Trick
Why you shouldn't use ENV variables for secret data
When to use-Docker alternatives rkt and LXD
The container is a lie

Awesome Linux Containers / Another Information Sources

sysdig-container-ecosystem113over 10 years agoThe ecosystem of awesome new technologies emerging around containers and microservices can be a little overwhelming, to say the least. We thought we might be able to help: welcome to the Container Ecosystem Project
doger.ioThis page is an attempt to document the ins and outs of containers on Linux. This is not just restricted to programmers looking to implement containers or use container like features in their own code but also Sysadmins and Users who want to get more of a handle on how containers work 'under the hood'

Backlinks from these awesome lists:

More related projects: