A curated list of Docker resources and projects
Go to file
2015-10-19 14:10:49 +02:00
CONTRIBUTING.md add tips about multilinks PR 2015-04-25 11:27:48 +02:00
LICENSE.md Create License.md 2015-09-07 11:11:23 +02:00
README.md Add Jessie Frazelle blog to README.md 2015-10-19 14:10:49 +02:00

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

A curated list of Docker resources and projects in 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. If this list is not complete, you can contribute to make it so.

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

If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!

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 ?

MENU


Useful Articles

Main Resources

General Articles

Deep Dive

Networking

Metal

Multi-Server

Cloud Infrastructure

Good Tips

Newsletter

Continuous Integration

Optimizing Images

Service Discovery

Security

Performances

Raspberry Pi & ARM

Other

Books

Tools

Dev Tools

Continuous Integration / Continuous Delivery

  • Drone - Continuous integration server built on Docker and configured using YAML files.
  • 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.
  • Captain - Convert your Git workflow to Docker containers ready for Continuous Delivery by @harbur
  • IBM DevOps Services - Continuous delivery using a pipeline deployment onto IBM Containers on Bluemix.
  • Watchtower - Automatically update running Docker containers by @CenturyLinkLabs
  • Dockunit - Docker based integration tests. A simple Node based utility for running Docker based unit tests. By @dockunit

Deployment

  • Last.Backend - Last.Backend platform is designed for automatization of all routine work with the server and deployment of applications in one click using the visual interface.
  • Conduit - Experimental deployment system for Docker by @ehazlett
  • Zodiac - A lightweight tool for easy deployment and rollback of dockerized applications. By @CenturyLinkLabs
  • rocker-compose - Docker composition tool with idempotency features for deploying apps composed of multiple containers.

Hosting for repositories (registries)

Securely store your Docker images.

  • Docker Hub (provided by Docker Inc.)
  • Quay.io (part of CoreOS) - Secure hosting for private Docker repositories
  • Reesd - Private Docker repositories and redundant storage service by @noteed

Hosting for containers

  • Orchard (part of Docker Inc) - Get a Docker host in the cloud, instantly.
  • StackDock - Docker hosting on blazing fast dedicated infrastructure
  • Tutum - Simple hosting for your Docker containers.
  • Giant Swarm - Simple microservice infrastructure. Deploy your containers in seconds.
  • Triton - Elastic container-native infrastructure by Joyent.
  • Amazon ECS - A management service on EC2 that supports Docker containers.
  • Google Container Engine - Docker containers on Google Cloud Computing powered by Kubernetes.
  • IBM Bluemix - Run Docker containers in a hosted cloud environment on IBM Bluemix.

Reverse Proxy

Web Interface

Local Container Manager

Volume management and plugins

  • Convoy - an open-source Docker volume driver that can snapshot, backup and restore Docker volumes anywhere. By @rancher
  • Azure Files Volume Driver - A Docker volume driver that allows you to mount persistent volumes backed by Microsoft Azure File Service. By @ahmetalpbalkan
  • 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

Useful Images

Dockerfile

Storing Images

Monitoring

  • Axibase Time-Series Database (Long-term retention of container statistics and built-in dashboards for Docker. Collected with native Google cAdvisor storage driver.)
  • cAdvisor (Analyzes resource usage and performance characteristics of running containers. created by @Google
  • Dockerana (packaged version of Graphite and Grafana, specifically targeted at metrics from Docker.)
  • Docker-mon (Console-based Docker monitoring) by @icecrime
  • InfluxDB, cAdvisor, Grafana (InfluxDB Time series DB in combination with Grafana and cAdvisor) by @vegasbrianc
  • New Relic New Relics Docker Monitoring tool
  • Prometheus (Open-source service monitoring system and time series database)
  • Ruxit Monitor containerized applications without installing agents or modifiying your Run commands
  • Seagull (Friendly Web UI to monitor docker daemon.) by @tobegit3hub
  • Site24x7 Docker MOnitoring for DevOps and IT is a SaaS Pay per Host model
  • 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.
  • 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.
  • 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
  • Zabbix Docker - Monitor containers automatically using zabbix LLD feature.

Networking

  • Weave (The Docker network) -- Weave creates a virtual network that connects Docker containers deployed across multiple hosts.
  • Calico-Docker - Calico is a pure layer 3 virtual network that allows containers over multiple docker-hosts to talk to each other.

Logging

  • 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
  • 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
  • Logspout (Log routing for Docker container logs) by @gliderlabs
  • SPM for Docker Monitoring of Metrics, Events and Logs implemented in Node.js. Integrated logagent-js to detect and parse various log formats. @sematext

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. It leverages Weave for networking and Brooklyn for application blueprints. By @brooklyncentral
  • Cloud 66 - Full-stack hosted container management as a service
  • 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
  • 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
  • StackEngine: The StackEngine Free Startup Edition enables you to build, deploy and operate your Docker applications across unlimited hosts. Free Community support via Slack channel gets you rapid access to a community of users and developers ready to help.

PaaS

Remote Container Manager / Orchestration

  • Kontena (Application Containers for Masses) -- http://kontena.io
  • Kubernetes (Open source orchestration system for Docker containers by Google) -- http://kubernetes.io
  • Shipyard (Composable Docker Management) -- http://shipyard-project.com/
  • Panamax (Docker Management for Humans) -- http://panamax.io/
  • Gaudi (Gaudi allows to share multi-component applications, based on Docker, Go, and YAM) -- http://gaudi.io/ project discontinued.
  • CoreOS (Linux for Massive Server Deployments) -- https://coreos.com/
  • Rancher (Portable AWS-style infrastructure service for Docker) -- http://www.rancher.io/
  • dokku-alt (Dokku fork with Dockerfile support, database plugins, ACL and more)
  • Docker container on Mesos (Docker plus Mesosphere provides an easy way to automate and scale deployment of containers in a production environment)
  • Marathon (Marathon is a private PaaS built on Mesos. It automatically handles hardware or software failures and ensures that an app is "always on")
  • Serf (Service orchestration and management tool) by @hashicorp
  • Flocker (Flocker is a data volume manager and multi-host Docker cluster management tool) by @ClusterHQ
  • Decking: (Decking aims to simplify the creation, organsation and running of clusters of Docker containers in a way which is familiar to developers)
  • Maestro (Maestro provides the ability to easily launch, orchestrate and manage mulitiple Docker containers as single unit) by @tascanini
  • Citadel (Citadel is a toolkit for scheduling containers on a Docker cluster)
  • CloudSlang (CloudSlang is a workflow engine to create Docker process automation)
  • 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
  • [Nomad Project] (https://www.nomadproject.io/) Easily deploy applications at any scale. A Distributed, Highly Available, Datacenter-Aware Scheduler.

Security

  • 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

Service Discovery

Slides

Videos

Main Account

Useful videos

Interesting Twitter Accounts

People