Top 50 Awesome List

veggiemonk/awesome-docker

Back-End Development  52 years ago  21.1k
🐳 A curated list of Docker resources and projects
View byDAY/WEEK/README
View on Github

Awesome Docker Awesome Netlify Status

A curated list of Docker resources and projects

If you would like to contribute, please read CONTRIBUTING.md first. It contains a lot of tips and guidelines to help keep things organized. Just click README.md to submit a pull request. If this list is not complete, you can contribute to make it so. Here is a great video tutorial to learn how to contribute on Github.

You can see the updates on TWITTER

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

If you see a link here that is not (any longer) a good fit, you can fix it by submitting a pull request to improve this file. Thank you!

The creators and maintainers of this list do not receive any form of payment to accept a change made by any contributor. This page is not an official Docker product in any way. It is a list of links to projects and is maintained by volunteers. Everybody is welcome to contribute. The goal of this repo is to index open-source projects, not to advertise for profit.

All the links are monitored and tested with a home baked Node.js script

Contents

Legend

  • Abandoned emoji-skull
  • Beta emoji-construction
  • Monetized emoji-heavy_dollar_sign

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

  • Benefits of using Docker for development and delivery, with a practical roadmap for adoption.
  • Bootstrapping Microservices by Ashley Davis - A practical and project-based guide to building applications with microservices, starts by building a Docker image for a single microservice and publishing it to a private container registry, finishes by deploying a complete microservices application to a production Kubernetes cluster.
  • Docker Curriculumstars4.6k: A comprehensive tutorial for getting started with Docker. Teaches how to use Docker and deploy dockerized apps on AWS with Elastic Beanstalk and Elastic Container Service.
  • Docker Documentation: the official documentation.
  • Docker for beginners: A tutorial for beginners who need to learn the basics of Docker—from "Hello world!" to basic interactions with containers, with simple explanations of the underlying concepts.
  • Docker for novices An introduction to Docker for developers and testers who have never used it. (Video 1h40, recorded linux.conf.au 2019 — Christchurch, New Zealand) by Alex Clews.
  • Docker Training emoji-heavy_dollar_sign
  • Docker Tutorial for Beginners (Updated 2019 version) — In this Docker tutorial, you'll learn all the basics and learn how you can containerize Node.js and Go applications. Even if you aren't familiar with these languages it should be easy for you to follow this tutorial and use any other language.
  • Katacoda: Learn Docker using Interactive Browser-Based Labs
  • Learn Dockerstars197: step-by-step tutorial and more resources (video, articles, cheat sheets) by @dwyl
  • Play With Docker: PWD is a great way to get started with Docker from beginner to advanced users. Docker runs directly in your browser.
  • Practical Guide about Docker Commands in Spanishstars176 This spanish guide contains the use of basic docker commands with real life examples.
  • Practical Introduction to Container Terminology The landscape for container technologies is larger than just docker. Without a good handle on the terminology, It can be difficult to grasp the key differences between docker and (pick your favorites, CRI-O, rkt, lxc/lxd) or understand what the Open Container Initiative is doing to standardize container technology.
  • The Docker Handbook An open-source book that teaches you the fundamentals, best practices and some intermediate Docker functionalities. The book is hosted on fhsinchy/the-docker-handbookstars572 and the projects are hosted on fhsinchy/docker-handbook-projectsstars1k repository.

Cheatsheets by

Where to start (Windows)


Projects

  • 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

Deployment and Infrastructure

  • awesome-stacksstars261 - Deploy 80+ open-source web apps with one Docker command
  • blackfish - a CoreOS VM to build swarm clusters for Dev & Production by @blackfish
  • BosnD - BosnD, the boatswain daemon - A dynamic configuration file writer & service reloader for dynamically changing container environments.
  • Centurionstars1.7k - 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
  • Clockerstars427 - 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
  • Conduitstars106 - Experimental deployment system for Docker by @ehazlett
  • depconstars92 - Depcon is written in Go and allows you to easily deploy Docker containers to Apache Mesos/Marathon, Amazon ECS and Kubernetes. By @ContainX
  • deploystars52 emoji-skull - Git and Docker deployment tool. A middle ground between simple Docker composition tools and full blown cluster orchestration by @ttiny
  • dockitstars106 emoji-skull - Do docker actions and Deploy gluster containers! By @humblec
  • gitkubestars3.6k - Gitkube is a tool for building and deploying docker images on Kubernetes using git push. By @Hasura.
  • Grafeasstars1.3k - A common API for metadata about containers, from image and build details to security vulnerabilities. By grafeas
  • Longshoremanstars425 emoji-skull - 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
  • SwarmManagementstars25 - Swarm Management is a python application, installed with pip. The application makes it easy to manage a Docker Swarm by configuring a single yaml file describing which stacks to deploy, and which networks, configs or secrets to create.
  • werfstars2.9k - werf is a CI/CD tool for building Docker images efficiently and deploying them to Kubernetes using GitOps by @flant

Monitoring

Networking

  • Calico-Docker - Calico is a pure layer 3 virtual network that allows containers over multiple docker-hosts to talk to each other.
  • Flannelstars7k - Flannel is a virtual network that gives a subnet to each host for use with container runtimes. By @coreos
  • Freeflowstars507 - High performance container overlay networks on Linux. Enabling RDMA (on both InfiniBand and RoCE) and accelerating TCP to bare metal performance. By @Microsoft
  • netshootstars3.8k - The netshoot container has a powerful set of networking tools to help troubleshoot Docker networking issues by @nicolaka
  • Pipeworkstars3.9k - Software-Defined Networking for Linux Containers, Pipework works with "plain" LXC containers, and with the awesome Docker. By @jpetazzo
  • Weave (The Docker network) - Weave creates a virtual network that connects Docker containers deployed across multiple hosts.

Orchestration

  • athenastars87 - An automation platform with a plugin architecture that allows you to easily create and share services.
  • blimpstars22 emoji-skull - 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
  • CloudSlangstars216 - CloudSlang is a workflow engine to create Docker process automation
  • clusterdockstars26 - Docker container orchestration to enable the testing of long-running cluster deployments
  • Cranestars744 - Control plane based on docker built-in swarm @Dataman-Cloud
  • Docker Flow Swarm Listenerstars63 - Docker Flow Swarm Listener project is to listen to Docker Swarm events and send requests when a change occurs. By @docker-flow
  • gantrydstars268 emoji-skull - A framework for easy management of docker-based components across machines by @DevTable
  • Havenstars240 - Haven is a simplified container management platform that integrates container, application, cluster, image, and registry managements. By @codeabovelab
  • Heliosstars2.1k emoji-skull - A simple platform for deploying and managing containers across an entire fleet of servers by @spotify
  • Kontenastars1.5k emoji-skull - The developer friendly container and micro services platform. Works on any cloud, easy to setup, simple to use.
  • Kubernetesstars84.7k - Open source orchestration system for Docker containers by Google
  • ManageIQstars1.2k - Discover, optimize and control your hybrid IT. By ManageIQ
  • Mantlstars3k - Mantl is a modern platform for rapidly deploying globally distributed services
  • Marathonstars4k - Marathon is a private PaaS built on Mesos. It automatically handles hardware or software failures and ensures that an app is "always on"
  • Mesosstars4.8k - Resource/Job scheduler for containers, VM's and physical hosts @apache
  • Nebula - A Docker orchestration tool designed to manage massive scale distributed clusters.
  • Nomadstars10.5k - Easily deploy applications at any scale. A Distributed, Highly Available, Datacenter-Aware Scheduler by @hashicorp
  • Panamaxstars1.4k emoji-skull - An open-source project that makes deploying complex containerized apps as easy as Drag-and-Drop by @CenturyLinkLabs.
  • Rancherstars18.4k - An open source project that provides a complete platform for operating Docker in production by @rancher.
  • Swarm-cronjobstars484 - Create jobs on a time-based schedule on Swarm by @crazy-max

PaaS

  • Atlantisstars388 emoji-skull - Atlantis is an Open Source PaaS for HTTP applications built on Docker and written in Go
  • caproverstars8.1k - [previously known as CaptainDuckDuck] Automated Scalable Webserver Package (automated Docker+nginx) - Heroku on Steroids
  • Convox Rackstars1.8k - Convox Rack is open source PaaS built on top of expert infrastructure automation and devops best practices.
  • Dcwstars12 - Docker-compose SSH wrapper: a very poor man PaaS, exposing the docker-compose and custom-container commands defined in container labels.
  • Dokkustars22.3k - Docker powered mini-Heroku that helps you build and manage the lifecycle of applications (originally by @progrium)
  • Empirestars2.7k - A PaaS built on top of Amazon EC2 Container Service (ECS)
  • Exoframestars1k - A self-hosted tool that allows simple one-command deployments using Docker
  • Flynnstars7.9k - A next generation open source platform as a service
  • Hephy Workflowstars349 - Open source PaaS for Kubernetes that adds a developer-friendly layer to any Kubernetes cluster, making it easy to deploy and manage applications. Fork of Deis Workflowstars1.3k
  • Kranestars68 - Toolset for managing container workloads on remote servers
  • Nanoboxstars1.5k