Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. As a result, IT can ship faster and run the same app, unchanged, on laptops, data center VMs, and any cloud. Source: What is Docker Cheatsheets by Docker EE is on the same code base as Docker CE, so also built from Moby, with commercial components added, such as "docker data center / universal control plane" Native desktop applications for managing and monitoring docker hosts and clusters Tools and applications that are either installed inside containers or designed to be run as a sidecar Applications designed to help or simplify building new images Examples by: Services to secure
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. As a result, IT can ship faster and run the same app, unchanged, on laptops, data center VMs, and any cloud. Source: What is Docker Cheatsheets by Docker EE is on the same code base as Docker CE, so also built from Moby, with commercial components added, such as "docker data center / universal control plane" Native desktop applications for managing and monitoring docker hosts and clusters Tools and applications that are either installed inside containers or designed to be run as a sidecar Applications designed to help or simplify building new images Examples by: Services to secure
...Читать далее
Оглавление
Legend
- Abandoned 💀
- Beta 🚧
- Monetized 💲
What is Docker
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. As a result, IT can ship faster and run the same app, unchanged, on laptops, data center VMs, and any cloud.
Source: What is Docker
Where to start
- Benefits of using Docker for development and delivery, with a practical roadmap for adoption.
- Bootstrapping Microservices by Ashley Davis - A practical and project-based guide to building applications with microservices, starts by building a Docker image for a single microservice and publishing it to a private container registry, finishes by deploying a complete microservices application to a production Kubernetes cluster.
- Docker Curriculum: A comprehensive tutorial for getting started with Docker. Teaches how to use Docker and deploy dockerized apps on AWS with Elastic Beanstalk and Elastic Container Service.
- Docker Documentation: the official documentation.
- Docker for beginners: A tutorial for beginners who need to learn the basics of Docker—from "Hello world!" to basic interactions with containers, with simple explanations of the underlying concepts.
- Docker for novices An introduction to Docker for developers and testers who have never used it. (Video 1h40, recorded linux.conf.au 2019 — Christchurch, New Zealand) by Alex Clews.
- Docker Hands-on Labs A structured Docker skill tree with 100 beginner-friendly hands-on labs by LabEx.
- Docker katas A series of labs that will take you from "Hello Docker" to deploying a containerized web application to a server.
- Docker Latest Tutorial — This is a series of latest docker tutorial, where you can learn what is docker, docker lifecycle, how to run Nginx Web Server in Docker?, how to run mysql on docker container, how to use Python on docker and many other important topics.
- Docker simplified in 55 seconds: An animated high-level introduction to Docker. Think of it as a visual tl;dr that makes it easier to dive into more complex learning materials.
- Docker Tutorial for Beginners (Updated 2019 version) — In this Docker tutorial, you'll learn all the basics and learn how you can containerize Node.js and Go applications. Even if you aren't familiar with these languages it should be easy for you to follow this tutorial and use any other language.
- Introduction à Docker A dedicated section to master Docker on a French site about DevSecOps: From the basics to best practices, including optimizing, securing your containers...
- Learn Docker (Visually) - A beginner-focused high-level overview of all the major components of Docker and how they fit together. Lots of high-quality images, examples, and resources.
- Play With Docker: PWD is a great way to get started with Docker from beginner to advanced users. Docker runs directly in your browser.
- Practical Guide about Docker Commands in Spanish This Spanish guide contains the use of basic docker commands with real life examples.
- Practical Introduction to Container Terminology The landscape for container technologies is larger than just docker. Without a good handle on the terminology, It can be difficult to grasp the key differences between docker and (pick your favorites, CRI-O, rkt, lxc/lxd) or understand what the Open Container Initiative is doing to standardize container technology.
- Setting Python Development Environment with VScode and Docker: A step-by-step tutorial for setting up a dockerized Python development environment with VScode, Docker, and the Dev Container extension.
- The Docker Handbook An open-source book that teaches you the fundamentals, best practices and some intermediate Docker functionalities. The book is hosted on fhsinchy/the-docker-handbook and the projects are hosted on fhsinchy/docker-handbook-projects repository.
Cheatsheets by
- @dimonomid (PDF)
- @wsargent (Most popular)
Where to start (Windows)
- A Comparative Study of Docker Engine on Windows Server vs Linux Platform Comparing the feature sets and implementations of Docker on Windows and Linux
- Docker Reference Architecture: Modernizing Traditional .NET Framework Applications - You will learn to identify the types of .NET Framework applications that are good candidates for containerization, the "lift-and-shift" approach to containerization.
- Docker with Microsoft SQL 2016 + ASP.NET Demonstration running ASP.NET and SQL Server workloads in Docker
- Exploring ASP.NET Core with Docker in both Linux and Windows Containers Running ASP.NET Core apps in Linux and Windows containers, using Docker for Windows
- Running a Legacy ASP.NET App in a Windows Container Steps for Dockerizing a legacy ASP.NET app and running as a Windows container
- Windows Containers and Docker: The 101 🎥 - A 20-minute overview, using Docker to run PowerShell, ASP.NET Core and ASP.NET apps
- Windows Containers Quick Start Overview of Windows containers, drilling down to Quick Starts for Windows 10 and Windows Server 2016
Projects
- Moby = open source development
- Docker CE = free product release based on Moby
- Docker EE = commercial product release based on Docker CE.
Docker EE is on the same code base as Docker CE, so also built from Moby, with commercial components added, such as "docker data center / universal control plane"
- Docker Compose (Define and run multi-container applications with Docker)
- Docker Machine (Machine management for a container-centric world)
- Docker Registry (The Docker toolset to pack, ship, store, and deliver content)
- Docker Swarm (Swarm: a Docker-native clustering system)
Container Operations
Container Composition
- box 💀 - Build Dockerfile images with a mruby DSL, includes flattening and layer manipulation
- Composerize - Convert docker run commands into docker-compose files
- docker-config-update - Utility to update docker configs and secrets for deploying in a compose file by @sudo-bmitch
- elsy - An opinionated, multi-language, build tool based on Docker and Docker Compose
- kompose - Go from Docker Compose to Kubernetes
- Maestro 💀 - Maestro provides the ability to easily launch, orchestrate and manage multiple Docker containers as single unit by @tascanini
- plash - A container run and build engine - runs inside docker.
- rocker-compose 💀 - Docker composition tool with idempotency features for deploying apps composed of multiple containers. By@grammarly.
- rocker 💀 - Extended Dockerfile builder. Supports multiple FROMs, MOUNTS, templates, etc. by @grammarly.
- Stacker 💀 - Docker Compose Templates. Stacker provides an abstraction layer over Docker Compose and a better DX (developer experience).
- Stitchocker - A lightweight and fast command line utility for conveniently grouping your docker-compose multiple container services. By @alexaandrov
- Zodiac 💀 - A lightweight tool for easy deployment and rollback of dockerized applications. By @CenturyLinkLabs
Deployment and Infrastructure
- awesome-stacks - Deploy 80+ open-source web apps with one Docker command
- BosnD - BosnD, the boatswain daemon - A dynamic configuration file writer & service reloader for dynamically changing container environments.
- Clocker - Clocker creates and manages a Docker cloud infrastructure. Clocker supports single-click deployments and runtime management of multi-node applications that run as containers distributed across multiple hosts, on both Docker and Marathon. It leverages Calico and Weave for networking and Brooklyn for application blueprints. By @brooklyncentral
- Longshoreman 💀 - Longshoreman automates application deployment using Docker. Just create a Docker repository (or use a service), configure the cluster using AWS or Digital Ocean (or whatever you like) and deploy applications using a Heroku-like CLI tool. By longshoreman
- swarm-ansible - Swarm-Ansible bootstraps a production-ready swarm cluster using ansible. Comes with tools to automate CI, help monitoring and traefik pre-configured for SSL certificates and simple-auth. Comes with a private registry and more!
- SwarmManagement - Swarm Management is a python application, installed with pip. The application makes it easy to manage a Docker Swarm by configuring a single yaml file describing which stacks to deploy, and which networks, configs or secrets to create.
Monitoring
- Autoheal - Monitor and restart unhealthy docker containers automatically.
- Axibase Collector - Axibase Collector streams performance counters, configuration changes and lifecycle events from the Docker engine(s) into Axibase Time Series Database for roll-up dashboards and integration with upstream monitoring systems.
- Docker-Alertd - Monitor and send alerts based on docker container resource usage/statistics
- Docker-Flow-Monitor - Reconfigures Prometheus when a new service is updated or deployed automatically by @docker-flow
- Dockerana 💀 - packaged version of Graphite and Grafana, specifically targeted at metrics from Docker.
- DockProc - I/O monitoring for containers on processlevel.
- dockprom - Docker hosts and containers monitoring with Prometheus, Grafana, cAdvisor, NodeExporter and AlertManager by @stefanprodan
- Doku - Doku is a simple web-based application that allows you to monitor Docker disk usage. @amerkurev
- Dynatrace 💲 - Monitor containerized applications without installing agents or modifying your Run commands
- Grafana Docker Dashboard Template - A template for your Docker, Grafana and Prometheus stack @vegasbrianc
- HertzBeat - An open-source real-time monitoring system with custom-monitor and agentless.
- InfluxDB, cAdvisor, Grafana - InfluxDB Time series DB in combination with Grafana and cAdvisor by @vegasbrianc
- LogJam - Logjam is a log forwarder designed to listen on a local port, receive log entries over UDP, and forward these messages on to a log collection server (such as logstash) by @gocardless
- monit-docker - Monitor docker containers resources usage or status and execute docker commands or inside containers. [@decryptus][decryptus]
- NexClipper - NexClipper is the container monitoring and performance management solution specialized in Docker, Apache Mesos, Marathon, DC/OS, Mesosphere, Kubernetes by @Nexclipper
- Out-of-the-box Host/Container Monitoring/Logging/Alerting Stack - Docker host and container monitoring, logging and alerting out of the box using cAdvisor, Prometheus, Grafana for monitoring, Elasticsearch, Kibana and Logstash for logging and elastalert and Alertmanager for alerting. Set up in 5 Minutes. Secure mode for production use with built-in Automated Nginx Reverse Proxy (jwilder's).
- Sidekick 💲 - Open source live application debugger like Chrome DevTools for your backend. Collect traces and generate logs on-demand without stopping & redeploying your applications.
- SuperVisor CPM Frontend Service and Driver Service 🚧 - A simple and accessible FOSS container performance monitoring service written in Python by @t0xic0der
- SwarmAlert - Monitors a Docker Swarm and sends Pushover alerts when it finds a container with no healthy service task running.
- Zabbix Docker module - Zabbix module that provides discovery of running containers, CPU/memory/blk IO/net container metrics. Systemd Docker and LXC execution driver is also supported. It's a dynamically linked shared object library, so its performance is (~10x) better, than any script solution.
- Zabbix Docker - Monitor containers automatically using zabbix LLD feature.
Networking
- Calico - Calico is a pure layer 3 virtual network that allows containers over multiple docker-hosts to talk to each other.
- Freeflow - High performance container overlay networks on Linux. Enabling RDMA (on both InfiniBand and RoCE) and accelerating TCP to bare metal performance. By @Microsoft
- MyIP - All in one IP Toolbox. Easy to check all your IPs, IP geolocation, check for DNS leaks, examine WebRTC connections, speed test, ping test, MTR test, check website availability, whois search and more. By @jason5ng32
- Weave (The Docker network) - Weave creates a virtual network that connects Docker containers deployed across multiple hosts.
Orchestration
- athena - An automation platform with a plugin architecture that allows you to easily create and share services.
- CloudSlang - CloudSlang is a workflow engine to create Docker process automation
- clusterdock - Docker container orchestration to enable the testing of long-running cluster deployments
- Docker Flow Swarm Listener - Docker Flow Swarm Listener project is to listen to Docker Swarm events and send requests when a change occurs. By @docker-flow
- Haven - Haven is a simplified container management platform that integrates container, application, cluster, image, and registry managements. By @codeabovelab
- Kontena 💀 - The developer friendly container and micro services platform. Works on any cloud, easy to setup, simple to use.
- Kubernetes - Open source orchestration system for Docker containers by Google
- Mantl - Mantl is a modern platform for rapidly deploying globally distributed services
- Marathon - Marathon is a private PaaS built on Mesos. It automatically handles hardware or software failures and ensures that an app is "always on"
- Nebula - A Docker orchestration tool designed to manage massive scale distributed clusters.
- Nomad - Easily deploy applications at any scale. A Distributed, Highly Available, Datacenter-Aware Scheduler by @hashicorp
- Panamax 💀 - An open-source project that makes deploying complex containerized apps as easy as Drag-and-Drop by @CenturyLinkLabs.
- RedHerd Framework - RedHerd is a collaborative and serverless framework for orchestrating a geographically distributed group of assets capable of simulating complex offensive cyberspace operations. By @RedHerdProject.
PaaS
- Atlantis 💀 - Atlantis is an Open Source PaaS for HTTP applications built on Docker and written in Go
- caprover - [previously known as CaptainDuckDuck] Automated Scalable Webserver Package (automated Docker+nginx) - Heroku on Steroids
- Convox Rack - Convox Rack is open source PaaS built on top of expert infrastructure automation and devops best practices.
- Dcw - Docker-compose SSH wrapper: a very poor man PaaS, exposing the docker-compose and custom-container commands defined in container labels.
- Empire - A PaaS built on top of Amazon EC2 Container Service (ECS)
- Exoframe - A self-hosted tool that allows simple one-command deployments using Docker
- Flynn 💀 - A next generation open source platform as a service
- Hephy Workflow - Open source PaaS for Kubernetes that adds a developer-friendly layer to any Kubernetes cluster, making it easy to deploy and manage applications. Fork of Deis Workflow
- Krane - Toolset for managing container workloads on remote servers
- Nanobox 💲 - An application development platform that creates local environments that can then be deployed and scaled in the cloud.
- OpenShift - An open source PaaS built on Kubernetes and optimized for Dockerized app development and deployment by Red Hat
- Tsuru - Tsuru is an extensible and open source Platform as a Service software
Reverse Proxy
- caddy-docker-proxy - Caddy-based reverse proxy, configured with service or container labels. By @lucaslorentz
- caddy-docker-upstreams - Docker upstreams module for Caddy, configured with container labels. By @invzhi
- Docker Dnsmasq Updater - Update a remote dnsmasq server with Docker container hostnames.
- docker-flow-proxy - Reconfigures proxy every time a new service is deployed, or when a service is scaled. By @docker-flow
- fabio - A fast, modern, zero-conf load balancing HTTP(S) router for deploying microservices managed by consul. By @magiconair (Frank Schroeder)
- h2o-proxy 💀 - Automated H2O reverse proxy for Docker containers. An alternative to jwilder/nginx-proxy by @zchee
- Let's Encrypt Nginx-proxy Companion - A lightweight companion container for the nginx-proxy. It allow the creation/renewal of Let's Encrypt certificates automatically. By @JrCs
- Swarm Router - A «zero config» service name based router for docker swarm mode with a fresh and more secure approach. By @flavioaiello
- Træfɪk - Automated reverse proxy and load-balancer for Docker, Mesos, Consul, Etcd... By @EmileVauge
Runtime
- aind - AinD launches Android apps in Docker, by nesting Anbox containers inside Docker by @aind-containers
- lxc - LXC - Linux Containers
- runtime-tools - oci-runtime-tool is a collection of tools for working with the OCI runtime specification by @opencontainers
Security
- Anchor - A tool to ensure reproducible builds by pinning dependencies inside your Dockerfiles @SongStitch
- Anchor Enterprise 💲 - Analyze images for CVE vulnerabilities and against custom security policies by @Anchor
- Aqua Security 💲 - Securing container-based applications from Dev to Production on any platform
- CetusGuard - CetusGuard is a tool that protects the Docker daemon socket by filtering calls to its API endpoints
- CIS Docker Benchmark - This InSpec compliance profile implement the CIS Docker 1.12.0 Benchmark in an automated way to provide security best-practice tests around Docker daemon and containers in a production environment. By @dev-sec
- Checkov - Static analysis for infrastructure as code manifests (Terraform, Kubernetes, Cloudformation, Helm, Dockerfile, Kustomize) find security misconfiguration and fix them. By @bridgecrew
- Dagda - Dagda is a tool to perform static analysis of known vulnerabilities, trojans, viruses, malware & other malicious threats in docker images/containers and to monitor the docker daemon and running docker containers for detecting anomalous activities. By @eliasgranderubio
- Deepfence Enterprise 💲 - Full life cycle Cloud Native Workload Protection platform for kubernetes, virtual machines and serverless. By @deepfence
- Deepfence Threat Mapper - Powerful runtime vulnerability scanner for kubernetes, virtual machines and serverless. By @deepfence
- docker-bench-security - script that checks for dozens of common best-practices around deploying Docker containers in production. By @docker
- docker-lock - A cli-plugin for docker to automatically manage image digests by tracking them in a separate Lockfile. By @safe-waters
- oscap-docker - OpenSCAP provides oscap-docker tool which is used to scan Docker containers and images. By OpenSCAP
- Prisma Cloud 💲 - (previously Twistlock Security Suite) detects vulnerabilities, hardens container images, and enforces security policies across the lifecycle of applications.
- Syft - CLI tool and library for generating a Software Bill of Materials (SBOM) from container images and filesystems.
- Sysdig Falco - Sysdig Falco is an open source container security monitor. It can monitor application, container, host, and network activity and alert on unauthorized activity.
- Sysdig Secure 💲 - Sysdig Secure addresses run-time security through behavioral monitoring and defense, and provides deep forensics based on open source Sysdig for incident response.
- Trend Micro DeepSecurity 💲 - Trend Micro DeepSecurity offers runtime protection for container workloads and hosts as well as preruntime scanning of images to identify vulnerabilities, malware and content such as hardcoded secrets.
- Trivy - Aqua Security's open source simple and comprehensive vulnerability scanner for containers (suitable for CI).
Service Discovery
- proxy 💀 - lightweight nginx based load balancer self using service discovery provided by registrator. by @factorish
Volume Management / Data
- Blockbridge 💲- The Blockbridge plugin is a volume plugin that provides access to an extensible set of container-based persistent storage options. It supports single and multi-host Docker environments with features that include tenant isolation, automated provisioning, encryption, secure deletion, snapshots and QoS. By @blockbridge
- Docker Machine NFS Activates NFS for an existing boot2docker box created through Docker Machine on OS X.
- Docker Unison A docker volume container using Unison for fast two-way folder sync. Created as an alternative to slow boot2docker volumes on OS X. By @leighmcculloch
- Local Persist Specify a mountpoint for your local volumes (created via docker volume create) so that files will always persist and so you can mount to different directories in different containers.
- Minio - S3 compatible object storage server in Docker containers
- portworx 💲 - Decentralized storage solution for persistent, shared and replicated volumes.
- quobyte 💲 - fully fault-tolerant distributed file system with a docker volume driver
- REX-Ray provides a vendor agnostic storage orchestration engine. The primary design goal is to provide persistent storage for Docker, Kubernetes, and Mesos. By@thecodeteam (DELL Technologies)
- Storidge 💲 - Software-defined Persistent Storage for Kubernetes and Docker Swarm
User Interface
IDE integrations
- JetBrains IDEs (IntelliJ IDEA, GoLand, WebStorm, CLion etc.) has built-in Docker plugin
- Eclipse Docker Tooling plugin
Desktop
Native desktop applications for managing and monitoring docker hosts and clusters
- Docker Desktop - Official native app. Only for Windows and MacOS
- DockStation - A developer centric UI to configure, monitor, and manage services and containers @dock_station
- Stevedore - Good Docker Desktop replacement for Windows. Both Linux and Windows Containers are supported. @slonopotamus
Terminal
Terminal UI
- DockSTARTer - DockSTARTer helps you get started with home server apps running in Docker by GhostWriters
- docui - 💀 An interactive shell UI for managing Docker containers. Also works in Windows. By @skanehira
- goManageDocker - TUI tool to view and manage your docker objects blazingly fast with sensible keybindings, also supports VIM navigation out of the box by @ajay-dsan
- lazydocker - The lazier way to manage everything docker. A simple terminal UI for both docker and docker-compose, written in Go with the gocui library. By @jesseduffield
- lazyjournal - A interface for reading and filtering the logs output of Docker and Podman containers like Dozzle but for the terminal with support for fuzzy find, regex and output coloring
- oxker - A simple tui to view & control docker containers. Written in Rust, making heavy use of ratatui & Bollard, by @mrjackwills
CLI tools
- docker pushrm - A Docker CLI plugin that lets you push the README.md file from the current directory to Docker Hub. Also supports Quay and Harbor. By @christian-korneck
- proco - Proco will help you to organise and manage Docker, Docker-Compose, Kubernetes projects of any complexity using simple YAML config files to shorten the route from finding your project to initialising it in your local environment. by @shiwaforce
- scuba - Transparently use Docker containers to encapsulate software build environments, by @JonathonReinhart
- skopeo - Work with remote images registries - retrieving information, images, signing content by @containers
- supdock - Allows for slightly more visual usage of Docker with an interactive prompt. By @segersniels
Other
- docker-ssh - SSH Server for Docker containers ~ Because every container should be accessible. By @jeroenpeeters
- MultiDocker - Create a secure multi-user Docker machine, where each user is segregated into an indepentent container.
Web
- Docker Compose UI - Manage docker-compose via HTTP. docker-compose-ui runs in a Docker container, mounts the hosts docker socket and exposes a RESTful API and AngularJS GUI
- docker-registry-web - Web UI, authentication service and event recorder for private docker registry v2 by @mkuchin
- docker-swarm-visualizer - Visualizes Docker services on a Docker Swarm (for running demos).
- DockerSurfer 💀 - A web service for analyze and browse dependencies between Docker images in the Docker registry, by @Simone-Erba
- Komodo - A tool to build and deploy software on many servers
- netdata - Real-time performance monitoring
- OctoLinker - A browser extension for GitHub that makes the image name in a Dockerfile clickable and redirect you to the related Docker Hub page.
- Portainer - A lightweight management UI for managing your Docker hosts or Docker Swarm clusters by @portainer
- Swarmpit - Swarmpit provides simple and easy to use interface for your Docker Swarm cluster. You can manage your stacks, services, secrets, volumes, networks etc.
- Theia - Extensible platform to develop full-fledged multi-language Cloud & Desktop IDE-like products with state-of-the-art web technologies.
- Yacht 🚧 - A Web UI for docker that focuses on templates and ease of use in order to make deployments as easy as possible. By @SelfhostedPro
Docker Images
Base Tools
Tools and applications that are either installed inside containers or designed to be run as a sidecar
- amicontained - Container introspection tool. Find out what container runtime is being used as well as features available by @genuinetools
- CoreOS - Linux for Massive Server Deployments
- Ofelia - Ofelia is a modern and low footprint job scheduler for docker environments, built on Go. Ofelia aims to be a replacement for the old fashioned cron. Supports configuration from container labels and/or configuration files.
- SparkView - Access VMs, desktops, servers or applications anytime and from anywhere, without complex and costly client roll-outs or user management.
- su-exec - This is a simple tool that will simply execute a program with different privileges. The program will be executed directly and not run as a child, like su and sudo does, which avoids TTY and signal issues. Why reinvent gosu? This does more or less exactly the same thing as gosu but it is only 10kb instead of 1.8MB. By ncopa
- sue - Executes a program as a user different from the user running sue. This is a maintainable alternative to ncopa/su-exec, which is the better tianon/gosu. This one is far better (higher performance, smaller size), than the original gosu, however it is far easier to maintain, than su-exec, which is written in plain C. Made by Akito
Builder
Applications designed to help or simplify building new images
- container-diff - An image tool for comparing and analyzing container images by @GoogleContainerTools
- copy-docker-image - Copy a Docker image between registries without a full Docker installation by @mdlavin
- docker-companion - A command line tool written in Golang to squash and unpack docker images by @mudler
- docker-make - Build, tag,and push a bunch of related docker images via a single command.
- docker-repack - Repacks a Docker image into a smaller, more efficient version that makes it significantly faster to pull. By orf
- DockerSlim shrinks fat Docker images creating the smallest possible images.
- essex - Boilerplate for Docker Based Projects: Essex is a CLI utility written in bash to quickly setup clean and consistent Docker projects with Makefile driven workflows. @jamesbrink
- HPC Container Maker - Generates Dockerfiles from a high level Python recipe, including building blocks for High-Performance Computing components by @NVIDIA
- img - Standalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder by @genuinetools
- packer - Hashicorp tool to build machine images including docker image integrated with configuration management tools like chef, puppet, ansible
- Production-Ready Python Containers 💲 - A template for creating production-ready Docker images for Python applications.
- SkinnyWhale 💀 - Skinnywhale helps you make smaller (as in megabytes) Docker containers.
Dockerfile
- chaperone-docker - A set of images using the Chaperone process manager, including a lean Alpine image, LAMP, LEMP, and bare-bones base kits.
- Dockerfile Generator dfg is both a Go library and an executable that produces valid Dockerfiles using various input channels.
- Dockerfile Project - Trusted Automated Docker Builds. Dockerfile Project maintains a central repository of Dockerfile for various popular open source software services runnable on a Docker container.
- Dockershelf - A repository that serves as a collector for docker recipes that are universal, efficient and slim. Images are updated, tested and published daily via a Travis cron job. Maintained by @CollageLabs.
- Vektorcloud - A collection of minimal, Alpine-based Docker images
Examples by:
Linter
- docker-image-size-limit - A tool to keep an eye on your docker images size.
- Dockerfile Linter action - The linter lets you verify Dockerfile syntax to make sure it follows the best practices for building efficient Docker images.
- Hadolint - A Dockerfile linter that checks for best practices, common mistakes, and is also able to lint any bash written in RUN instructions; by @lukasmartinelli
- Whale-linter - A simple and small Dockerfile linter written in Python3+ without dependencies by @jeromepin
Metadata
- opencontainer - A convention and shared namespace for Docker labels defined by OCI Image Spec.
Registry
Services to securely store your Docker images.
- Amazon Elastic Container Registry 💲 - Amazon Elastic Container Registry (ECR) is a fully-managed Docker container registry that makes it easy for developers to store, manage, and deploy Docker container images.
- Azure Container Registry 💲 - Manage a Docker private registry as a first-class Azure resource
- CargoOS - A bare essential OS for running the Docker Engine on bare metal or Cloud. By @RedCoolBeans
- cleanreg - A small tool to delete image manifests from a Docker Registry implementing the API v2, dereferencing them for the GC by @hcguersoy
- Cloudsmith 💲 - A fully managed package management SaaS, with first-class support for public and private Docker registries (and many others, incl. Helm charts for the Kubernetes ecosystem). Has a generous free-tier and is also completely free for open-source.
- Container Registry Service 💲 - Harbor based Container Management Solution as a Service for teams and organizations. Free tier offers 1 GB storage for private repositories.
- Cycle.io 💲 - Bare-metal container hosting.
- DigitalOcean 💲 - DigitalOcean Container Registry.
- Docker Hub provided by Docker Inc.
- Docker Registry v2 - The Docker toolset to pack, ship, store, and deliver content
- Dragonfly - Provide efficient, stable and secure file distribution and image acceleration based on p2p technology.
- GCP Artifact Registry 💲 Fast, private Docker image storage on Google Cloud Platform.
- Gitea Container Registry - Integrated Docker registry in Gitea, ideal for private, small-scale image hosting.
- GitHub Container Registry - GitHub's solution for storing and managing Docker images, with tight integration into GitHub Actions.
- GitLab Container Registry - Registry focused on using its images in GitLab CI
- JFrog Artifactory 💲 - Artifact Repository Manager, can be used as private Docker Registry as well
- Kraken - Uber's Highly scalable P2P docker registry, capable of distributing TBs of data in seconds.
- Quay.io 💲 (part of CoreOS) - Secure hosting for private Docker repositories
- Registryo - UI and token based authentication server for onpremise docker registry
- Sonatype Nexus Repository - Manage binaries and build artifacts across your software supply chain.
Development with Docker
API Client
- contajners - An idiomatic, data-driven, REPL friendly Clojure client for OCI container engines. By @lispyclouds
- Docker Client for JVM - A Docker remote api client library for the JVM, written in Groovy by @gesellix
- Docker Client TypeScript - Docker API client for JavaScript, automatically generated from Swagger API definition from moby repository. By @masaeedu
- Docker-PowerShell - PowerShell Module for Docker
- Docker.Registry.DotNet - .NET (C#) Client Library for interacting with a Docker Registry API (v2) @rquackenbush
- DoMonit - A simple Docker Monitoring wrapper For Docker API
- libcompose - Go library for Docker Compose.
- Portainer stack utils 🚧 - Bash script to deploy/update/undeploy Docker stacks in a Portainer instance from a docker-compose yaml file. By @greenled.
CI/CD
- Buddy 💲 - The best of Git, build & deployment tools combined into one powerful tool that supercharged our development.
- Depot 💲 - Build Docker images fast, in the cloud. Blazing fast compute, automatic intelligent caching, and zero configuration. Done in seconds.
- Diun - Receive notifications when an image or repository is updated on a Docker registry by @crazy-max.
- dockcheck - A script checking updates for docker images without pulling then auto-update selected/all containers. With notifications, pruning and more.
- Docker plugin for Jenkins - The aim of the docker plugin is to be able to use a docker host to dynamically provision a slave, run a single build, then tear-down that slave.
- Drone - Continuous integration server built on Docker and configured using YAML files.
- Gantry - Automatically update selected Docker swarm services.
- GitLab Runner - GitLab has integrated CI to test, build and deploy your code with the use of GitLab runners.
- GOCD-Docker 💀 - Go Server and Agent in docker containers to provision.
- Jaypore CI - Simple, very flexible, powerful CI / CD / automation system configured in Python. Offline and local first.
- Kraken CI - Modern CI/CD, open-source, on-premise system that is highly scalable and focused on testing. One of its executors is Docker. Developed by @Kraken-CI.
- Microservices Continuous Deployment - Continuous deployment of a microservices application.
- mu - Tool to configure CI/CD of your container applications via AWS CodePipeline, CodeBuild and ECS @Stelligent
- Ouroboros 💀 - Automatically update running Docker containers with notifications
- Popper - Github actions workflow (HCL syntax) execution engine.
- Screwdriver 💲 - Yahoo's OpenSource buildplatform designed for Continous Delivery.
- SwarmCI - Create a distributed, isolated task pipeline in your Docker Swarm.
- Tekton CD - A cloud-native pipeline resource.
- Watchtower - Automatically update running Docker containers
Development Environment
- batect - build and testing environments as code tool: Dockerised build and testing environments made easy by @charleskorn
- Boot2Docker 💀 - Docker for OSX and Windows
- Dinghy - An alternative way to use Docker on Mac OS X using Docker Machine with virtualbox, vmware, xhyve or parallels
- Docker Missing Tools - A set of bash commands to shortcut typical docker dev-ops. An alternative to creating typical helper scripts like "build.sh" and "deploy.sh" inside code repositories. By @NandoQuintana.
- Docker-Arch - Generate Web/CLI projects Dockerized development environments, from 1 simple YAML file. By @Ph3nol
- Docker-sync - Drastically improves performance (50-70x) when using Docker for development on Mac OS X/Windows and Linux while sharing code to the container. By @EugenMayer
- DockerBuildManagement - Build Management is a python application, installed with pip. The application makes it easy to manage a build system based on Docker by configuring a single yaml file describing how to build, test, run or publish a containerized solution.
- DockerDL - Deep Learning Docker Images. Don't waste time setting up a deep learning env when you can get a deep learning environment with everything pre-installed.
- Dusty - Managed Docker development environments on OS X
- Eclipse Che - Developer workspace server with Docker runtimes, cloud IDE, next-generation Eclipse IDE
- ESP32 Linux - Docker builder - Container solution to compile Linux and develop it for ESP32 microcontrollers - By @Hpsaturn
- forward2docker 💀 - Utility to auto forward a port from localhost into ports on Docker containers running in a boot2docker VM by @bsideup
- Gebug - A tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly.
- Rust Universal Compiler - Container solution to compile Rust projects for Linux, macOS and Windows. By @Peco602
- uniget - uni(versal)get, the installer and updater for container tools and beyond (formerly docker-setup). By @nicholasdille
- Zsh-in-Docker - Install Zsh, Oh-My-Zsh and plugins inside a Docker container with one line! By Deluan
Garbage Collection
- caduc - A docker garbage collector cleaning stuff you did not use recently
Serverless
- Apache OpenWhisk - a serverless, open source cloud platform that executes functions in response to events at any scale. By @apache
- Docker-Lambda - Docker images and test runners that replicate the live AWS Lambda environment. By @lamb-ci
- IronFunctions - The serverless microservices platform FaaS (Functions as a Service) which uses Docker containers to run Any language or AWS Lambda functions
- Koyeb 💲 - Koyeb is a developer-friendly serverless platform to deploy apps globally. Seamlessly run Docker containers, web apps, and APIs with git-based deployment, native autoscaling, a global edge network, and built-in service mesh and discovery.
Testing
- Container Structure Test - A framework to validate the structure of an image by checking the outputs of commands or the contents of the filesystem. By @GoogleContainerTools
- dgoss - A fast YAML based tool for validating docker containers.
- DockerSpec - A small Ruby Gem to run RSpec and Serverspec, Infrataster and Capybara tests against Dockerfiles or Docker images easily. By @zuazo
- Kurtosis - A composable build system for multi-container test environments that provides developers with: a powerful Python-like SDK for environment configuration, a compile-time validator to verify environment behavior & setup, and a runtime for environment execution, monitoring, & debugging capabilities. By Kurtosis
- Pull Dog - A GitHub app that automatically creates Docker-based test environments for your pull requests, from your docker-compose files. Not open source.
- Pumba - Chaos testing tool for Docker. Can be deployed on kubernetes and CoreOS cluster. By @alexei-led
Wrappers
- Ansible - Manage the life cycle of Docker containers. By RedHat
- Beluga 💀 - CLI to deploy docker containers on a single server or low amount of servers. By @cortextmedia
- dexec - Command line interface written in Go for running code with Docker Exec images.
- dockerized - Seamlessly execute commands in a container.
- Preevy - Preview environments for Docker and Docker Compose projects. Test your changes and get feedback from devs and non-devs (Product/Design) by deploying pull requests to the your cloud provider as part of your CI pipeline.
- subuser - Makes it easy to securely and portably run graphical desktop applications in Docker
- T.A.D.S. boilerplate - The power of Ansible and Terraform + the simplicity of Docker Swarm = Infrastructure as Code and DevOps best practices. By @Thomvaill
- Terraform cloud-init config - Terraform module for deploying a single Docker image or docker-compose.yaml file to any Cloud™ VM
- udocker - A tool to execute simple docker containers in batch or interactive systems without root privileges by @inidigo-dc
Services based on Docker (mostly 💲)
CI Services
- CircleCI 💲 - Push or pull Docker images from your build environment, or build and run containers right on CircleCI.
- CodeFresh 💲 - Everything you need to build, test, and share your Docker applications. Provides automated end to end testing.
- CodeShip 💲 - Work with your established Docker workflows while automating your testing and deployment tasks with our hosted platform dedicated to speed and security.
- ConcourseCI 💲 - A CI SaaS platform for developers and DevOps teams pipeline oriented.
- Semaphore CI 💲 — A high-performance cloud solution that makes it easy to build, test and ship your containers to production.
- TravisCI 💲 - A Free github projects continuous integration Saas platform for developers and Devops.
CaaS
- Amazon ECS 💲 - A management service on EC2 that supports Docker containers.
- Appfleet 💲 - Edge platform to deploy and manage containerized services globally. The system will route the traffic to the closest location for lower latency.
- Azure AKS 💲 - Simplify Kubernetes management, deployment, and operations. Use a fully managed Kubernetes container orchestration service.
- Cloud 66 💲 - Full-stack hosted container management as a service
- Giant Swarm 💲 - Simple microservice infrastructure. Deploy your containers in seconds.
- Mesosphere DC/OS Platform 💲 - Integrated platform for data and containers built on Apache Mesos by @mesosphere
- Red Hat CodeReady Workspaces - A collaborative Kubernetes-native solution for rapid application development that delivers consistent developer environments on Red Hat OpenShift to allow anyone with a browser to contribute code in under two minutes.
- Red Hat OpenShift Dedicated 💲 - Fully-managed Red Hat® OpenShift® service on Amazon Web Services and Google Cloud
- Triton 💲 - Elastic container-native infrastructure by Joyent.
- Virtuozzo Application Platform 💲 - Deploy and manage your projects with turnkey PaaS across a wide network of reliable service providers
Monitoring Services
- AppDynamics - Docker Monitoring extension gathers metrics from the Docker Remote API, either using Unix Socket or TCP.
- Better Stack 💲 - A Docker-compatible observability stack that delivers robust log aggregation and uptime monitoring capabilities for various software application.
- Broadcom Docker Monitoring 💲 - Agile Operations solutions from Broadcom deliver the modern Docker monitoring businesses need to accelerate and optimize the performance of microservices and the dynamic Docker environments running them. Monitor both the Docker environment and apps that run inside them. (former CA Technologies)
- Datadog 💲 - Datadog is a full-stack monitoring service for large-scale cloud environments that aggregates metrics/events from servers, databases, and applications. It includes support for Docker, Kubernetes, and Mesos.
- Prometheus 💲 - Open-source service monitoring system and time series database
- Site24x7 💲 - Docker Monitoring for DevOps and IT is a SaaS Pay per Host model
- SPM for Docker 💲 - Monitoring of host and container metrics, Docker events and logs. Automatic log parser. Anomaly Detection and alerting for metrics and logs. @sematext
- Sysdig Monitor 💲 - Sysdig Monitor can be used as either software or a SaaS service to monitor, alert, and troubleshoot containers using system calls. It has container-specific features for Docker and Kubernetes.