A curated list of Docker resources and projects
Go to file
2017-06-21 11:32:03 +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 whitelist 'sebgoa.blogspot.be' 2017-06-09 12:18:25 +02: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 link to code of conduct 2017-06-20 22:36:14 +03:00
favicon.png add favicon docker 2017-02-07 19:26:02 +02:00
index.html meta tags and min css 2017-02-07 20:05:17 +02: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 People don't read so making things simpler 2017-05-15 10:20:39 +03:00
README.md added credit link to source GitHub account 2017-06-21 11:32:03 +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

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"

Continuous Integration / Continuous Delivery

  • 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

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 DevOps Services - 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.

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
  • rocker-compose - Docker composition tool with idempotency features for deploying apps composed of multiple containers. By @grammarly
  • Zodiac - A lightweight tool for easy deployment and rollback of dockerized applications. By @CenturyLinkLabs

Developer Tools

Development Environments

  • Binci - Containerize your development workflow. (formerly DevLab by @TechnologyAdvice)
  • Devstep - Development environments powered by Docker and buildpacks by @fgrehm
  • 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
  • Stacker - Docker Compose Templates. Stacker provides an abstraction layer over Docker Compose and a better DX (developer experience).
  • 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

Docker Compose file

Dockerfile

Garbage Collection

Hosting Images (registries)

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.
  • Container Compliance Open Source tool for assesing running containers and cold images for vulnerabilites and audits.
  • 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.
  • 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.

Images

Image Builder

  • 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
  • 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.
  • DockerSlim shrinks fat Docker images creating the smallest possible images.
  • elsy - An opinionated, multi-language, build tool based on Docker and Docker Compose
  • flyimg - Docker image resizing, cropping, and compression on the fly.
  • habitus - A Build Flow Tool for Docker http://www.habitus.io by @cloud66
  • 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
  • rocker - Extended Dockerfile builder. Supports multiple FROMs, MOUNTS, templates, etc. by grammarly.
  • SkinnyWhale Skinnywhale helps you make smaller (as in megabytes) Docker containers.

Linter / Validator

Local Container Manager

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.
  • 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.
  • New Relic - New Relics Docker Monitoring tool
  • 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

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
  • Weave (The Docker network) - Weave creates a virtual network that connects Docker containers deployed across multiple hosts.

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.

Remote Container Manager / Orchestration

  • 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
  • Capitan - Composable docker orchestration with added scripting support by @byrnedo.
  • 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
  • CoreOS - Linux for Massive Server Deployments
  • 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
  • Fleet - A Distributed init System providing low-level orchestration by @coreos
  • 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 kubernetes See Also awesome-kubernetes by @ramitsurana
  • Maestro - Maestro provides the ability to easily launch, orchestrate and manage mulitiple Docker containers as single unit by @tascanini
  • 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

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
  • Twistlock $ - Twistlock Security Suite detects vulnerabilities, hardens container images, and enforces security policies across the lifecycle of applications.

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

Service Discovery

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
  • 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.
  • Orchard (part of Docker Inc) - Get a Docker host in the cloud, instantly.
  • Sloppy.io - all-in-one solution for container deployment and hosting made and hosted in Germany
  • Triton - Elastic container-native infrastructure by Joyent.

Terminal User Interface

Testing

  • appium-docker-android - Docker images from appium which helps to run tests on real devices.
  • dgoss - A fast YAML based tool for validating docker containers.
  • elgalu/docker-selenium - Selenium in Docker with Chrome & Firefox plus video recording support.
  • Pumba - Chaos testing tool for Docker. Can be deployed on Kubernets and CoreOS clusters.
  • SeleniumHQ/docker-selenium - Docker images for Selenium Standalone Server, Hub, and Node configurations with Chrome and Firefox.
  • zalenium - A Selenium Grid extension to scale up and down your local grid dynamically with docker containers.

Utilities

  • athena - An automation platform with a plugin architecture that allows you to easily create and share services.
  • Chaperone - A single PID1 process designed for docker containers. Does user management, log management, startup, zombie reaping, all in one small package. by @garywiz
  • codelift - CodeLift is an automated Docker image build utility for 'dockerizing' services by @BoozAllen
  • Codenvy - One-click Docker environments and cloud workspace for development teams
  • Composerize - Convert docker run commands into docker-compose files
  • dexec - Command line interface written in Go for running code with Docker Exec images.
  • dext-docker-registry-plugin - Search the Docker Registry with the Dext smart launcher.
  • Docker meets the IDE - Integrating your favorite containers in the editor of your choice by domeide
  • Docker Volume Clone Utility - A Docker Utility to Clone Volumes @gdiepen
  • docker-compose-search - A search engine for Docker Compose application stacks by @francescou
  • docker-do - hassle-free docker run, like env but for docker by @benzaita
  • docker-gen - Generate files from docker container meta-data by @jwilder
  • docker-ls - CLI tools for browsing and manipulating docker registries by @mayflower
  • docker-replay - Generate docker runcommand and options from running containers. By bcicen
  • docker-volumes - Docker Volume Manager by @cpuguy83
  • dockerize - Utility to simplify running applications in docker containers by @jwilder
  • 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
  • draw-compose - Utility to draw a schema of a docker compose by @Alexis-benoist
  • Dropdock - A framework designed for Drupal to build fast, isolated development environments using Docker.
  • DVM - Docker version manager by @howtowhale
  • 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
  • GoSu - Run this specific application as this specific user and get out of the pipeline (entrypoint script tool) by @tianon
  • ns-enter - no more ssh, enter name spaces of container by @jpetazzo
  • OctoLinker - A browser extension for GitHub that makes the image name in a Dockerfile clickable and redirect you to the related Docker Hub page.
  • percheron - Organise your Docker containers with muscle and intelligence by @ashmckenzie
  • Powerline-Docker - A Powerline segment for showing the status of Docker containers by @adrianmo
  • Squid-in-a-can - in case of proxy problem by @jpetazzo
  • TrivialRC - A minimalistic Runtime Configuration system and process manager for containers @vorakl
  • udocker - A tool to execute simple docker containers in batch or interactive systems without root privileges by @inidigo-dc

Volume management and plugins

  • 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 A Docker volume plugin written in Go that supports mounting NFS, AWS EFS & CIFS volumes within a container. By @gondor
  • 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

Web Interface

Useful Resources

Good Tips

Newsletter

Security

Raspberry Pi & ARM

Videos

Main Account

Useful videos

Interesting Twitter Accounts

Communities and Meetups

Brazilian

Chinese

English

Russian