awesome-docker/README.md

69 KiB
Raw Blame History

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

  • DevLab - Utility for running containerized development environments
  • 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 - Tool to improve performance when using Docker on Mac OS X and your volume has several folders and files like gulp projects for instance. 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.
  • 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.
  • 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 @lsqio
  • 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.
  • 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 https://flynn.io/
  • Nanobox - A micro-PaaS (μPaaS) for creating consistent, isolated, development environments deployable anywhere https://nanobox.io.
  • 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. By @tsuru
  • Workflow - The open source PaaS for Kubernetes by Deis. Formerly Deis v1.

Remote Container Manager / Orchestration

Reverse Proxy

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 unified CaaS/FaaS platform for Docker, batteries included. By @Appcelerator
  • Apache OpenWhisk - serverless distributed event-based programming service that executes functions in response to events at any scale. By @openwhisk
  • 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
  • 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

  • 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
  • Compose Registry - A very handy search engine for Compose Files
  • 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

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