A curated list of Docker resources and projects
Go to file
2017-01-29 21:43:28 +01:00
.gitignore gitignore 2015-12-28 11:13:36 +01:00
.travis.yml whitelist eclipse and codenvy 2017-01-06 16:44:17 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2017-01-27 14:46:59 +02:00
index.html GH pages: switch to showdown cdn version 2017-01-07 10:24:03 +02:00
LICENSE.md Create License.md 2015-09-07 11:11:23 +02:00
README.md Adding tsaotun 2017-01-29 21:11:39 +09:00
showdown.min.js fix menu links 2016-12-30 17:29:00 +02:00
style.css add github pages to master branch 2016-12-30 09:31:34 +02:00

Awesome Docker Awesome Join the chat at https://gitter.im/veggiemonk/awesome-docker Build Status 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.

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 articles, learning materials and projects, not to advertise for profit. All pull requests are merged by default and removed if inappropriate or unavailable, or fixed when necessary.

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

MENU

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 - on Windows ?

Tools

Terminal User Interface

Dev Tools

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
  • CircleCI - Push or pull Docker images from your build environment, or build and run containers right on CircleCI.
  • CodeFresh - Accelerate your transition to Docker containers
  • CodeShip - Work with your established Docker workflows while automating your testing and deployment tasks with our hosted platform dedicated to speed and security.
  • 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
  • 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.
  • IBM DevOps Services - Continuous delivery using a pipeline deployment onto IBM Containers on Bluemix.
  • InSpec - InSpec is an open-source testing framework for infrastructure with a human- and machine-readable language for specifying compliance, security and policy requirements.
  • Microservices Continuous Deployment - Continuous deployment of a microservices application
  • Pumba - Chaos testing tool for Docker. Can be deployed on Kubernets and CoreOS clusters.
  • 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.
  • 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

Deployment

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

Hosting for repositories (registries)

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.
  • Azure Container Registry Manage a Docker private registry as a first-class Azure resource
  • Carina Bare-metal container hosting. Developed by Rackspace. Currently in Beta.
  • Compose Registry - Project from [@francescou]Francesco Uliana that stores docker-compose.yml files with stack examples like LAMP/LEMP stacks, Django stacks, Flask stacks and ELK stacks for instance.
  • 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.
  • GCE Container Registry Fast, private Docker image storage on Google Cloud Platform
  • GitLab Container Registry - Repositories focused on using it images in GitLab CI
  • Private Docker Registry Hosted registry service for companies with unlimited private repositories, users, teams and namespaces. Federeated identity with LDAP/AD/OAuth/SAML and VPN Tunneling.
  • Quay.io (part of CoreOS) - Secure hosting for private Docker repositories
  • TreeScale - Build and Distriubute container based applications.

Hosting for containers

  • Amazon ECS - A management service on EC2 that supports Docker containers.
  • ContainerShip Cloud - Multi-Cloud Container Hosting Automation Platform.
  • Docker Cloud - Former Tutum
  • 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 - 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.
  • Triton - Elastic container-native infrastructure by Joyent.

Reverse Proxy

Web Interface

Local Container Manager

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
  • 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
  • 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

Useful Images

Dockerfile

Docker Compose file

Storing Images and Registries

  • Atomic Registry - Red Hat Atomic Registry is an open source enterprise registry based on the Origin and Cockpit projects, enhancing the Docker registry library.
  • Docker Registry v2 - The Docker toolset to pack, ship, store, and deliver content
  • Rescoyl - Private Docker registry by @noteed
  • 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.

Monitoring

  • 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.
  • cAdvisor - Analyzes resource usage and performance characteristics of running containers. Created by @Google
  • 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.
  • 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
  • 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
  • Seagull - Friendly Web UI to monitor docker daemon. by @tobegit3hub
  • 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 - 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.
  • Zabbix Docker - Monitor containers automatically using zabbix LLD feature.

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.
  • Wagl - DNS Service Discovery for Docker Swarm (by @ahmetalpbalkan ) http://ahmetalpbalkan.github.io/wagl/
  • Weave (The Docker network) - Weave creates a virtual network that connects Docker containers deployed across multiple hosts.

Logging

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
  • 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

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.
  • Deis - Your PaaS, your rules http://deis.io/
  • Dockhero - Dockhero is a Heroku add-on which turns a Docker image into a microservice attached to the Heroku app. Currently in beta.
  • Dokku - Docker powered mini-Heroku in around 100 lines of Bash by @progrium
  • Empire - A PaaS built on top of Amazon EC2 Container Service (ECS)
  • Flynn - A next generation open source platform as a service https://flynn.io/
  • OpenShift - An open source PaaS built on Kubernetes and optimized for Dockerized app development and deployment by Red Hat
  • Rancher - Rancher is an open source project that provides a complete platform for operating Docker in production
  • Tsuru - Tsuru is an extensible and open source Platform as a Service software https://tsuru.io/

Remote Container Manager / Orchestration

Security

  • 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 Container-as-a-Service & microservice platform for Docker
  • Docker-Lambda - Docker images and test runners that replicate the live AWS Lambda environment
  • Funker - Functions as Docker containers
  • IronFunctions - The serverless microservices platform FaaS (Funcitons as a Service) which uses Docker containers to run Any language or AWS Lambda functions

Service Discovery

Metadata

Slides

Useful Articles

Main Resources

General Articles

Portuguese 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

English

Chinese

Portuguese

Videos

Main Account

Useful videos

Interactive Learning Environments

  • Katacoda: Learn Docker using Interactive Browser-Based Labs

Interesting Twitter Accounts

People

Communities and Meetups

Other Brazilian Channels