A curated list of Docker resources and projects
Go to file
2017-08-26 20:35:48 +02:00
.gitattributes Create .gitattributes 2017-02-18 22:56:59 +02:00
.gitignore gitignore 2015-12-28 11:13:36 +01:00
.travis.yml ignore domain mindmeister.com 2017-07-10 21:41:09 +03:00
badge.svg Badge 2017-03-23 13:29:18 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-06-20 15:14:52 +03:00
CONTRIBUTING.md Update CONTRIBUTING.md 2017-07-18 12:33:28 +03:00
favicon.png add favicon docker 2017-02-07 19:26:02 +02:00
index.html First step towards section refactoring 2017-08-13 16:52:38 +03:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2017-02-12 14:29:28 +01:00
LICENSE.md Update LICENSE.md 2017-04-07 07:16:11 +03:00
pull_request_template.md Make some adjustments in the rules section 2017-07-13 14:42:07 +02:00
README.md refactor: move terminal and web under user interface section 2017-08-26 20:35:48 +02:00
style.css add github pages to master branch 2016-12-30 09:31:34 +02:00
style.min.css meta tags and min css 2017-02-07 20:05:17 +02:00

Awesome Docker Awesome Join the chat at https://gitter.im/veggiemonk/awesome-docker Say Thanks

A curated list of Docker resources and projects Inspired by @sindresorhus' awesome and improved by these amazing contributors.

It's now a GitHub project because it's considerably easier for other people to edit, fix and expand on Docker using GitHub. Just click README.md to submit a pull request. If this list is not complete, you can contribute to make it so.

You can see the updates from TWITTER

Please, help organize these resources so that they are easy to find and understand for new comers. See how to Contribute for tips!

The creators and maintainers of this list do not receive and should not receive any form of payment to accept a change made by any contributor. The goal of this repo is to index open-source projects, not to advertise for profit.

All the links are monitored and tested with awesome_bot made by @dkhamsing

Contents

Legend

  • Commercial 🤑
  • Beta 🤕
  • Terminal 🤓
  • Web Based 😎

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?

Where to start? (Windows)


Tools

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"

Container Operations

Container Composition

  • bocker (1) - Docker implemented in 100 lines of bash by p8952
  • bocker (2) - Write Dockerfile completely in Bash. Extensible and simple. --> Reusable by @icy
  • box - Build Dockerfile images with a mruby DSL, includes flattening and layer manipulation
  • Capitan - Composable docker orchestration with added scripting support by @byrnedo.
  • crowdr - Tool for managing multiple Docker containers (docker-compose alternative) by @polonskiy
  • Composerize - Convert docker run commands into docker-compose files
  • docker-compose-search - A search engine for Docker Compose application stacks by @francescou
  • draw-compose - Utility to draw a schema of a docker compose by @Alexis-benoist
  • elsy - An opinionated, multi-language, build tool based on Docker and Docker Compose
  • habitus - A Build Flow Tool for Docker http://www.habitus.io by @cloud66
  • Maestro - Maestro provides the ability to easily launch, orchestrate and manage mulitiple Docker containers as single unit by @tascanini
  • percheron - Organise your Docker containers with muscle and intelligence by @ashmckenzie
  • rocker - Extended Dockerfile builder. Supports multiple FROMs, MOUNTS, templates, etc. by grammarly.
  • rocker-compose - Docker composition tool with idempotency features for deploying apps composed of multiple containers. By @grammarly
  • Stacker - Docker Compose Templates. Stacker provides an abstraction layer over Docker Compose and a better DX (developer experience).
  • Zodiac - A lightweight tool for easy deployment and rollback of dockerized applications. By @CenturyLinkLabs

Deployment and Infrastructure

  • Centurion - Centurion is a mass deployment tool for Docker fleets. It takes containers from a Docker registry and runs them on a fleet of hosts with the correct environment variables, host volume mappings, and port mappings. By @newrelic
  • 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
  • Conduit - Experimental deployment system for Docker by @ehazlett
  • depcon - Depcon is written in Go and allows you to easily deploy Docker containers to Apache Mesos/Marathon, Amazon ECS and Kubernetes. By @gonodr
  • deploy - Git and Docker deployment tool. A middle ground between simple Docker composition tools and full blown cluster orchestration. Declarative configuration and short commands for managing (syncing, building, running) of infrastructures of more than a few services. Able to deploy whole preconfigured server or system of services with a single line (without having to scroll the line).
  • Docket - Custom docker registry that allows for lightning fast deploys through bittorrent by @netvarun
  • dockit - Do docker actions and Deploy gluster containers! By @humblec
  • 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

Monitoring

Networking

  • Calico-Docker - Calico is a pure layer 3 virtual network that allows containers over multiple docker-hosts to talk to each other.
  • Flannel - Flannel is a virtual network that gives a subnet to each host for use with container runtimes. By @coreos
  • netshoot - The netshoot container has a powerful set of networking tools to help troubleshoot Docker networking issues by @nicolaka
  • Weave (The Docker network) - Weave creates a virtual network that connects Docker containers deployed across multiple hosts.

Orchestration

  • Awesome Kubernetes by @ramitsurana
  • athena - An automation platform with a plugin architecture that allows you to easily create and share services.
  • autodock - Daemon for Docker Automation by @prologic
  • blimp - Uses Docker Machine to easily move a container from one Docker host to another, show containers running against all of your hosts, replicate a container across multiple hosts and more by @defermat and @schvin
  • CloudSlang - CloudSlang is a workflow engine to create Docker process automation
  • clusterdock - Docker container orchestration to enable the testing of long-running cluster deployments
  • ContainerShip A simple container management platform
  • Crane - Control plane based on docker built-in swarm @Dataman-Cloud
  • Deploying a Containerized App on a Public Node with Mesos - Docker plus Mesosphere provides an easy way to automate and scale deployment of containers in a production environment
  • ElasticKube - Open source management platform for Kubernetes
  • Flocker - Flocker is a data volume manager and multi-host Docker cluster management tool by @ClusterHQ
  • gantryd - A framework for easy management of docker-based components across machines by @DevTable
  • Haven - Haven is a simplified container management platform that integrates container, application, cluster, image, and registry managements. By @codeabovelab
  • Helios - A simple platform for deploying and managing containers across an entire fleet of servers by @spotify
  • Kontena - Application Containers for Masses https://www.kontena.io/
  • 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"
  • MCollective Docker Agent - Uses MCollective to orchestrate your Docker containers and images by @m4ce
  • 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.
  • Portainer - A lightweight management UI for managing your Docker host or Docker Swarm cluster (previously DockerUI by @kevana)
  • Rancher - An open source project that provides a complete platform for operating Docker in production by @rancher.
  • Serf - Service orchestration and management tool by @hashicorp
  • Shipyard - Composable Docker Management
  • Swarmpit - Lightweight Docker Swarm orchestration. Swarmpit provides clean way to manage your Docker Swarm cluster with various handful features such Service management, smart search, shared access and private registries.

PaaS

  • Atlantis - Atlantis is an Open Source PaaS for HTTP applications built on Docker and written in Go
  • 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.
  • Dokku - Docker powered mini-Heroku that helps you build and manage the lifecycle of applications (originally by @progrium)
  • Empire - A PaaS built on top of Amazon EC2 Container Service (ECS)
  • Flynn - A next generation open source platform as a service
  • Nanobox - A micro-PaaS (μPaaS) for creating consistent, isolated, development environments deployable anywhere
  • 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
  • Workflow - The open source PaaS for Kubernetes by Deis. Formerly Deis v1.

Reverse Proxy

Security

  • 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
  • Clair - Clair is an open source project for the static analysis of vulnerabilities in appc and docker containers. By @coreos
  • docker-bench-security - script that checks for dozens of common best-practices around deploying Docker containers in production. By @docker
  • notary - a server and a client for running and interacting with trusted collections. By @docker
  • oscap-docker - OpenSCAP provides oscap-docker tool which is used to scan Docker containers and images. By RedHat
  • Twistlock $ - Twistlock Security Suite detects vulnerabilities, hardens container images, and enforces security policies across the lifecycle of applications.

Service Discovery

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
  • Convoy - an open-source Docker volume driver that can snapshot, backup and restore Docker volumes anywhere. By @rancher
  • 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
  • Netshare Docker NFS, AWS EFS, Ceph & Samba/CIFS Volume Plugin. By @ContainX
  • Docker Machine NFS Activates NFS for an existing boot2docker box created through Docker Machine on OS X.
  • REX-Ray Vendor agnostic storage orchestration engine to provide persistent storage for Docker containers as well as Mesos frameworks and tasks.
  • 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

User Interface

Terminal

Web

Docker Images

Base Tools

  • Chaperone - A single PID1 process designed for docker containers. Does user management, log management, startup, zombie reaping, all in one small package. by @garywiz
  • CoreOS - Linux for Massive Server Deployments
  • dockerize - Utility to simplify running applications in docker containers by @jwilder
  • docker-gen - Generate files from docker container meta-data by @jwilder
  • GoSu - Run this specific application as this specific user and get out of the pipeline (entrypoint script tool) by @tianon
  • TrivialRC - A minimalistic Runtime Configuration system and process manager for containers @vorakl

Builder

  • container-factory - Produces Docker images from tarballs of application source code by @mutable
  • dlayer - Stats collector for Docker layers by @wercker
  • 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-replay - Generate docker runcommand and options from running containers. By bcicen
  • DockerSlim shrinks fat Docker images creating the smallest possible images.
  • Dockly - Dockly is a gem made to ease the pain of packaging an application in Docker by @swipely
  • dockramp - Proof of Concept: A Client Driven Docker Image Builder by @jlhawn
  • flyimg - Docker image resizing, cropping, and compression on the fly.
  • MicroBadger - Analyze the contents of images and add metadata labels
  • packer - Hashicorp tool to build machine images including docker image integrated with configuration management tools like chef, puppet, ansible
  • portainer - Apache Mesos framework for building Docker images by @duedil-ltd
  • SkinnyWhale Skinnywhale helps you make smaller (as in megabytes) Docker containers.
  • Whales - A tool to automatically dockerize your applications by @icalialabs.

Dockerfile

Linter

Registry

Services to securely store your Docker images.

  • Amazon EC2 Container Registry Amazon EC2 Container Registry (ECR) is a fully-managed Docker container registry that makes it easy for developers to store, manage, and deploy Docker container images.
  • Atomic Registry - Red Hat Atomic Registry is an open source enterprise registry based on the Origin and Cockpit projects, enhancing the Docker registry library.
  • 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
  • Cycle.io Bare-metal container hosting.
  • Docker Hub provided by Docker Inc.
  • Docker Registry v2 - The Docker toolset to pack, ship, store, and deliver content
  • GCE Container Registry Fast, private Docker image storage on Google Cloud Platform
  • GitLab Container Registry - Repositories focused on using it images in GitLab CI
  • Quay.io (part of CoreOS) - Secure hosting for private Docker repositories
  • Rescoyl - Private Docker registry (free and open source) by @noteed
  • Sonatype Nexus - Repository with Universal Support, also for Docker images
  • TreeScale - Build and Distribute container based applications. By @tigranbs
  • VMWare Harbor Project Harbor by VMWare is an enterprise-class registry server that stores and distributes Docker images. Harbor extends the open source Docker Distribution by adding the functionalities usually required by an enterprise, such as security, identity and management.

Development with Docker

API Client

CI/CD

  • Awesome-ciandcd - Not specific to docker but relevant.
  • Buddy - The best of Git, build & deployment tools combined into one powerful tool that supercharged our development.
  • Captain - Convert your Git workflow to Docker containers ready for Continuous Delivery by @harbur.
  • Cyclone - A cloud native CI/CD platform built for container workflow by @caicloud.
  • 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.
  • Dockunit - Docker based integration tests. A simple Node based utility for running Docker based unit tests. By @dockunit
  • DockerSpec - A small Ruby Gem to run RSpec and Serverspec, Infrataster and Capybara tests against Dockerfiles or Docker images easily. By @zuazo
  • Drone - Continuous integration server built on Docker and configured using YAML files.
  • GitLab CI - GitLab has integrated CI to test, build and deploy your code with the use of GitLab runners.
  • GOCD-DockerGo Server and Agent in docker containers to provision.
  • InSpec - InSpec is an open-source testing framework for infrastructure with a human- and machine-readable language for specifying compliance, security and policy requirements. By @chef
  • Microservices Continuous Deployment - Continuous deployment of a microservices application.
  • Screwdriver - Yahoo's OpenSource buildplatform designed for Continous Delivery.
  • Skipper - Easily dockerize your Git repository by @Stratoscale
  • SwarmCI - Create a distributed, isolated task pipeline in your Docker Swarm.
  • Watchtower - Automatically update running Docker containers by @CenturyLinkLabs

Development Environment

  • Binci - Containerize your development workflow. (formerly DevLab by @TechnologyAdvice)
  • Boot2Docker - Docker for OSX and Windows
  • construi - Run your builds inside a Docker defined environment by @lstephen
  • Devstep - Development environments powered by Docker and buildpacks by @fgrehm
  • Dinghy - An alternative way to use Docker on Mac OS X using Docker Machine with virtualbox, vmware, xhyve or parallels
  • DLite - Simplest way to use Docker on OSX, no VM needed. By @nlf
  • docker-vm - Simple and transparent alternative to boot2docker (backed by Vagrant) by @shyiko
  • Docker osx dev - A productive development environment with Docker on OS X by @brikis98
  • 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
  • Dusty - Managed Docker development environments on OS X
  • Eclipse Che - Developer workspace server with Docker runtimes, cloud IDE, next-generation Eclipse IDE
  • forward2docker - Utility to auto forward a port from localhost into ports on Docker containers running in a boot2docker VM by @bsideup
  • Vagga - Vagga is a containerisation tool without daemons. It is a fully-userspace container engine inspired by Vagrant and Docker, specialized for development environments by @tailhook
  • Vessel - Automates the setup & use of dockerized development environments by @awvessel

Garbage Collection

Serverless

  • AMP - The open source unified CaaS/FaaS platform for Docker, batteries included. By @Appcelerator
  • 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
  • FaaS - Docker Serverless/Functions as a Service (on Docker Swarm). By @alexellis
  • Funker - Functions as Docker containers example voting app. By @bfirsh
  • IronFunctions - The serverless microservices platform FaaS (Funcitons as a Service) which uses Docker containers to run Any language or AWS Lambda functions
  • SCAR - Serverless Container-aware Architectures (SCAR) is a serverless framework that allows easy deployment and execution of containers (e.g. Docker) in Serverless environments (e.g. Lambda) by @grycap

Testing

  • dgoss - A fast YAML based tool for validating docker containers.
  • Pumba - Chaos testing tool for Docker. Can be deployed on Kubernets and CoreOS clusters.

Wrappers

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.
  • Shippable - A SaaS platform for developers and DevOps teams that significantly reduces the time taken for code to be built, tested and deployed to production.
  • IBM Bluemix Continous Delivery $$$ - Continuous delivery using a pipeline deployment onto IBM containers on Bluemix.
  • TravisCI - A Free github projects continuous integration Saas platform for developers and Devops.
  • Wercker - A Docker-Native continous integration & deployment Automation platform for Kubernetes & Microservice Deployments.

Monitoring & Logging

  • cAdvisor - Analyzes resource usage and performance characteristics of running containers. Created by @Google
  • Docker-Fluentd - Docker container to Log Other Containers' Logs. One can aggregate the logs of Docker containers running on the same host using Fluentd by @kiyoto
  • Docker-mon - Console-based Docker monitoring by @icecrime
  • Dockerana - packaged version of Graphite and Grafana, specifically targeted at metrics from Docker.
  • DoMonit - A simple Docker Monitoring wrapper For Docker API
  • Dynatrace - Monitor containerized applications without installing agents or modifying your Run commands
  • Glances - A cross-platform curses-based system monitoring tool written in Python by @nicolargo
  • Grafana Docker Dashboard Template - A template for your Docker, Grafana and Prometheus stack @vegasbrianc
  • 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
  • Logsene for Docker Monitoring of Metrics, Events and Logs implemented in Node.js. Integrated logagent-js to detect and parse various log formats. @sematext
  • Logspout - Log routing for Docker container logs by @gliderlabs
  • 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).
  • Seagull - Friendly Web UI to monitor docker daemon. by @tobegit3hub
  • 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.
  • Docker-Alertd - Monitor and send alerts based on docker container resource usage/statistics

Monitoring & Logging Services

  • AppDynamics - AppDynamics gives enterprises real-time insights into application performance, user performance, and business performance so they can move faster in an increasingly sophisticated, software-driven world.
  • Axibase Time-Series Database - Long-term retention of container statistics and built-in dashboards for Docker. Collected with native Google cAdvisor storage driver.
  • CA Technologies Docker Monitoring - $$$ - Agile Operations solutions from CA 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.
  • Collecting docker logs and stats with Splunk
  • CoScale - Full stack monitoring for containerized applications and microservices. Powered by anomaly detection to find performance problems faster.
  • 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.
  • Meros - Analyzes containers resources, captures logs, remote web SSH terminal and powerful DevOps alerts.
  • Prometheus - Open-source service monitoring system and time series database
  • Sysdig - An open source troubleshooting tool that provides a rich set of real-time, system-level information. It has container-specific features and is very useful in Docker environments.
  • 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

Services for running containers

  • Amazon ECS - A management service on EC2 that supports Docker containers.
  • Arukas - Heroku-inspired CaaS
  • Azure ACS - A management service on Azure Virtual Machines that supports Docker containers.
  • Cloud 66 - Full-stack hosted container management as a service
  • Codenvy - One-click Docker environments and cloud workspace for development teams
  • ContainerShip Cloud - Multi-Cloud Container Hosting Automation Platform.
  • DataMC - DataMc is a PaaS for Production ready and fully managed Data Platform
  • Docker Cloud - Former Tutum
  • Dockhero - Dockhero is a Heroku add-on which turns a Docker image into a microservice attached to the Heroku app. Currently in beta.
  • Giant Swarm - Simple microservice infrastructure. Deploy your containers in seconds.
  • Google Container Engine - Docker containers on Google Cloud Computing powered by Kubernetes.
  • Hyper_ - Secure container hosting service with "nano-containers" and per-second billing.
  • IBM Bluemix Container Service - Run Docker containers in a hosted cloud environment on IBM Bluemix.
  • OpenShift Dedicated - A hosted OpenShift cluster for running your Docker containers managed by Red Hat.
  • Sloppy.io - all-in-one solution for container deployment and hosting made and hosted in Germany
  • Triton - Elastic container-native infrastructure by Joyent.

Useful Resources

Good Tips

Newsletter

Security

Raspberry Pi & ARM

Videos

Main Account

Useful videos

Interesting Twitter Accounts

Communities and Meetups

Brazilian

Chinese

English

Russian