An open API service indexing awesome lists of open source software.

awesome-docker

🐳 A curated list of Docker resources and projects
https://github.com/xiaomingx/awesome-docker

Last synced: 12 days ago
JSON representation

  • Container Operations

    • User Interface

      • Docker Registry UI - A web UI for easy private/local Docker Registry integration by [@atcol](https://github.com/atcol)
      • docker-registry-web - Web UI, authentication service and event recorder for private docker registry v2 by [@mkuchin](https://github.com/mkuchin)
      • docker-swarm-visualizer - Visualizes Docker services on a Docker Swarm (for running demos).
      • dockering-on-rails - Simple Web-Interface for Docker with a lot of features by [@Electrofenster](https://github.com/Electrofenster/)
      • DockerSurfer - A web service for analyze and browse dependencies between Docker images in the Docker registry, by [@Simone-Erba](https://github.com/Simone-Erba/)
      • Kubevious - A highly visual web UI for Kubernetes which renders configuration and state in an application centric way by [@rubenhak](https://github.com/rubenhak).
      • Mafl - Minimalistic flexible homepage by [@hywax](https://github.com/hywax/)
      • netdata - Real-time performance monitoring
      • OctoLinker - A browser extension for GitHub that makes the image name in a `Dockerfile` clickable and redirect you to the related Docker Hub page.
      • Rapid Dashboard - A simple query dashboard to use Docker Remote API by [@ozlerhakan](https://github.com/ozlerhakan/)
      • Seagull - Friendly Web UI to monitor docker daemon. by [@tobegit3hub](https://github.com/tobegit3hub)
      • Swarmpit - Swarmpit provides simple and easy to use interface for your Docker Swarm cluster. You can manage your stacks, services, secrets, volumes, networks etc.
      • Swirl - Swirl is a web management tool for Docker, focused on swarm cluster By [@cuigh](https://github.com/cuigh/)
      • Theia - Extensible platform to develop full-fledged multi-language Cloud & Desktop IDE-like products with state-of-the-art web technologies.
      • Yacht - A Web UI for docker that focuses on templates and ease of use in order to make deployments as easy as possible. By [@SelfhostedPro](https://github.com/SelfhostedPro)
      • dockercraft - Docker + Minecraft = Dockercraft by [@docker][docker]
      • Komodo - A tool to build and deploy software on many servers
      • Admiral
    • Volume Management / Data

      • 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](https://github.com/blockbridge)
      • Convoy - an open-source Docker volume driver that can snapshot, backup and restore Docker volumes anywhere. By [@rancher][rancher]
      • Docker Machine NFS
      • Docker Unison - way folder sync. Created as an alternative to slow boot2docker volumes on OS X. By [@leighmcculloch](https://github.com/leighmcculloch)
      • Docker Volume Backup
      • Local Persist
      • Minio - S3 compatible object storage server in Docker containers
      • Netshare
      • quobyte - fully fault-tolerant distributed file system with a docker volume driver
      • REX-Ray
      • Storidge - Software-defined Persistent Storage for Kubernetes and Docker Swarm
  • Demos and Examples

  • Development with Docker

    • API Client

      • ahab - Docker event handling with Python by [@instacart](https://github.com/instacart)
      • clj-docker-client - Idiomatic Clojure client for the Docker remote API. By [@lispyclouds][lispyclouds]
      • contajners - An idiomatic, data-driven, REPL friendly Clojure client for OCI container engines. By [@lispyclouds][lispyclouds]
      • Docker Client for JVM - A Docker remote api client library for the JVM, written in Groovy by [@gesellix][gesellix]
      • Docker Client TypeScript - Docker API client for JavaScript, automatically generated from Swagger API definition from moby repository. By [@masaeedu](https://github.com/masaeedu)
      • docker-client - Java client for the Docker remote API. By [@spotify][spotify]
      • docker-controller-bot - Telegram bot to control docker containers. By [@dgongut](https://github.com/dgongut/)
      • docker-it-scala - Docker integration testing kit with Scala by [@whisklabs](https://github.com/whisklabs)
      • docker-java-api - Lightweight, truly object-oriented, Java client for Docker's API. By [@amihaiemil](https://github.com/amihaiemil)
      • docker-maven-plugin - A Maven plugin for running and creating Docker images by [@fabric8io](https://github.com/fabric8io)
      • Docker-PowerShell - PowerShell Module for Docker
      • Docker.Registry.DotNet - .NET (C#) Client Library for interacting with a Docker Registry API (v2) [@rquackenbush](https://github.com/rquackenbush)
      • dockerfile-maven - A Maven plugin for building and pushing Docker images by [@spotify][spotify]
      • dockerode - Docker Remote API node.js module by [@apocas](https://github.com/apocas)
      • DoMonit - A simple Docker Monitoring wrapper For Docker API
      • Gradle Docker plugin - A Docker remote api plugin for Gradle by [@gesellix][gesellix]
      • Portainer stack utils - Bash script to deploy/update/undeploy Docker stacks in a Portainer instance from a docker-compose yaml file. By [@greenled](https://github.com/greenled).
      • sbt-docker-compose - Integrates Docker Compose functionality into sbt by [@kurtkopchik](https://github.com/kurtkopchik/)
      • sbt-docker - Create Docker images directly from sbt by [@marcuslonnberg](https://github.com/marcuslonnberg)
      • Docker.DotNet - C#/.NET HTTP client for the Docker remote API by [@ahmetb](https://github.com/ahmetb)
      • go-dockerclient - Go HTTP client for the Docker remote API by [@fsouza](https://github.com/fsouza/)
      • libcompose - Go library for Docker Compose.
    • CI/CD

      • Captain - Convert your Git workflow to Docker containers ready for Continuous Delivery by [@harbur](https://github.com/harbur).
      • Cyclone - Powerful workflow engine and end-to-end pipeline solutions implemented with native Kubernetes resources by [@caicloud](https://github.com/caicloud).
      • dockcheck - A script checking updates for docker images without pulling then auto-update selected/all containers. With notifications, pruning and more.
      • Gantry - Automatically update selected Docker swarm services.
      • GitLab Runner - GitLab has integrated CI to test, build and deploy your code with the use of GitLab runners.
      • GOCD-Docker - Go Server and Agent in docker containers to provision.
      • Jaypore CI - Simple, very flexible, powerful CI / CD / automation system configured in Python. Offline and local first.
      • Kraken CI - Modern CI/CD, open-source, on-premise system that is highly scalable and focused on testing. One of its executors is Docker. Developed by [@Kraken-CI](https://github.com/Kraken-CI).
      • Microservices Continuous Deployment - Continuous deployment of a microservices application.
      • mu - Tool to configure CI/CD of your container applications via AWS CodePipeline, CodeBuild and ECS [@Stelligent](https://github.com/stelligent)
      • Ouroboros - Automatically update running Docker containers with notifications
      • Screwdriver :heavy_dollar_sign: - Yahoo's OpenSource buildplatform designed for Continous Delivery.
      • Skipper - Easily dockerize your Git repository by [@Stratoscale](https://github.com/Stratoscale)
      • SwarmCI - Create a distributed, isolated task pipeline in your Docker Swarm.
      • Tekton CD - A cloud-native pipeline resource.
      • 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.
      • Popper - Github actions workflow (HCL syntax) execution engine.
      • Drone - Continuous integration server built on Docker and configured using YAML files.
    • Development Environment

      • batect - build and testing environments as code tool: Dockerised build and testing environments made easy by [@charleskorn](https://github.com/charleskorn)
      • Binci - Containerize your development workflow. (formerly DevLab by [@TechnologyAdvice](https://github.com/TechnologyAdvice))
      • Boot2Docker - Docker for OSX and Windows
      • coder - remote development machines powered by Terraform or Docker by [@coder](https://github.com/coder)
      • construi - Run your builds inside a Docker defined environment by [@lstephen](https://github.com/lstephen)
      • Crashcart - Sideload Linux binaries into a running container for troubleshooting by [@Oracle][oracle]
      • dde - Local development environment toolset based on Docker. By [@whatwedo](https://github.com/whatwedo)
      • Devstep - Development environments powered by Docker and buildpacks by [@fgrehm][fgrehm]
      • Dinghy - An alternative way to use Docker on Mac OS X using Docker Machine with virtualbox, vmware, xhyve or parallels
      • DIP - CLI utility for straightforward provisioning and interacting with an application configured by docker-compose. By [@bibendi](https://github.com/bibendi)
      • DLite - Simplest way to use Docker on OSX, no VM needed. By [@nlf](https://github.com/nlf)
      • dobi - A build automation tool for Docker applications. By [@dnephin](https://github.com/dnephin)
      • Docker Missing Tools - A set of bash commands to shortcut typical docker dev-ops. An alternative to creating typical helper scripts like "build.sh" and "deploy.sh" inside code repositories. By [@NandoQuintana](https://github.com/nandoquintana).
      • Docker osx dev - A productive development environment with Docker on OS X by [@brikis98](https://github.com/brikis98)
      • Docker-Arch - Generate Web/CLI projects Dockerized development environments, from 1 simple YAML file. By [@Ph3nol](https://github.com/ph3nol)
      • Docker-sync - Drastically improves performance ([50-70x](https://github.com/EugenMayer/docker-sync/wiki/4.-Performance)) when using Docker for development on Mac OS X/Windows and Linux while sharing code to the container. By [@EugenMayer](https://github.com/EugenMayer)
      • docker-vm - Simple and transparent alternative to boot2docker (backed by Vagrant) by [@shyiko](https://github.com/shyiko)
      • DockerBuildManagement - Build Management is a python application, installed with pip. The application makes it easy to manage a build system based on Docker by configuring a single yaml file describing how to build, test, run or publish a containerized solution.
      • DockerDL - Deep Learning Docker Images. Don't waste time setting up a deep learning env when you can get a deep learning environment with everything pre-installed.
      • Dusty - Managed Docker development environments on OS X
      • EnvCLI - Replace your local installation of Node, Go, ... with project-specific docker containers. By [@EnvCLI](https://github.com/EnvCLI)
      • ESP32 Linux - Docker builder - Container solution to compile Linux and develop it for ESP32 microcontrollers - By [@Hpsaturn](https://github.com/hpsaturn)
      • footloose - Spin containers that look like Virtual Machines - By [@dlespiau](https://github.com/dlespiau)
      • forward2docker - Utility to auto forward a port from localhost into ports on Docker containers running in a boot2docker VM by [@bsideup](https://github.com/bsideup)
      • Gebug - A tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly.
      • Kitt - A portable and disposable Shell environment, based on Docker and Nix. By [@senges](https://github.com/senges)
      • Lando - Lando is for developers who want to quickly specify and painlessly spin up the services and tools needed to develop their projects. By [Tandem](https://thinktandem.io/)
      • Rust Universal Compiler - Container solution to compile Rust projects for Linux, macOS and Windows. By [@Peco602][peco602]
      • uniget - uni(versal)get, the installer and updater for container tools and beyond (formerly docker-setup). By [@nicholasdille](https://github.com/nicholasdille)
      • 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](https://github.com/tailhook/)
      • Zsh-in-Docker - Install Zsh, Oh-My-Zsh and plugins inside a Docker container with one line! By [Deluan](https://www.deluan.com)
    • Garbage Collection

      • caduc - A docker garbage collector cleaning stuff you did not use recently
      • Docker Clean - A script that cleans Docker containers, images and volumes by [@zzrotdesign](https://github.com/ZZROTDesign)
      • docker_gc - Image for automatic removing unused Docker Swarm objects. Also works just as Docker Service by [@pdacity](https://github.com/pdacity)
      • Docker-cleanup - Automatic Docker image, container and volume cleanup by [@meltwater](https://github.com/meltwater)
      • docker-custodian - Keep docker hosts tidy. By [@Yelp](https://github.com/Yelp)
      • docker-garby - Docker garbage collection script by [@konstruktoid](https://github.com/konstruktoid).
      • docker-gc - A cron job that will delete old stopped containers and unused images by [@spotify][spotify]
      • Docuum - Least recently used (LRU) eviction of Docker images by [@stepchowfun](https://github.com/stepchowfun)
      • sherdock - Automatic GC of images based on regexp by [@rancher][rancher]
    • Serverless

      • AMP - The open source unified CaaS/FaaS platform for Docker, batteries included. By [@Appcelerator](https://github.com/appcelerator-archive)
      • Apache OpenWhisk - a serverless, open source cloud platform that executes functions in response to events at any scale. By [@apache](https://github.com/apache)
      • Docker-Lambda - Docker images and test runners that replicate the live AWS Lambda environment. By [@lamb-ci](https://github.com/lambci)
      • Funker - Functions as Docker containers example voting app. By [@bfirsh](https://github.com/bfirsh)
      • IronFunctions - The serverless microservices platform FaaS (Functions as a Service) which uses Docker containers to run Any language or AWS Lambda functions
      • Koyeb - Koyeb is a developer-friendly serverless platform to deploy apps globally. Seamlessly run Docker containers, web apps, and APIs with git-based deployment, native autoscaling, a global edge network, and built-in service mesh and discovery.
      • OpenFaaS - A complete serverless functions framework for Docker and Kubernetes. By [OpenFaaS](https://github.com/openfaas)
      • SCAR - Serverless Container-aware Architectures (SCAR) is a serverless framework that allows easy deployment and execution of containers (e.g. Docker) in Serverless environments (e.g. Lambda) by [@grycap](https://github.com/grycap)
    • Testing

      • Container Structure Test - A framework to validate the structure of an image by checking the outputs of commands or the contents of the filesystem. By [@GoogleContainerTools][googlecontainertools]
      • DockerSpec - A small Ruby Gem to run RSpec and Serverspec, Infrataster and Capybara tests against Dockerfiles or Docker images easily. By [@zuazo](https://github.com/zuazo)
      • Dockunit - Docker based integration tests. A simple Node based utility for running Docker based unit tests. By [@dockunit](https://github.com/dockunit)
      • EZDC - Golang test harness for easily setting up tests that rely on services in a docker-compose.yml. By [@byrnedo]
      • InSpec
      • Kurtosis - A composable build system for multi-container test environments that provides developers with: a powerful Python-like SDK for environment configuration, a compile-time validator to verify environment behavior & setup, and a runtime for environment execution, monitoring, & debugging capabilities. By [Kurtosis](https://www.kurtosis.com/)
      • Pull Dog - A GitHub app that automatically creates Docker-based test environments for your pull requests, from your docker-compose files. Not open source.
      • Pumba - Chaos testing tool for Docker. Can be deployed on kubernetes and CoreOS cluster. By [@alexei-led](https://github.com/alexei-led)
      • dgoss - A fast YAML based tool for validating docker containers.
    • Wrappers

      • Ansible - Manage the life cycle of Docker containers. By RedHat
      • Azk - Orchestrate development environments on your local machine by [@azukiapp](https://github.com/azukiapp)
      • Beluga - CLI to deploy docker containers on a single server or low amount of servers. By [@cortextmedia](https://github.com/cortexmedia)
      • dexec - Command line interface written in Go for running code with Docker Exec images.
      • dockerized - Seamlessly execute commands in a container.
      • Dray - An engine for managing the execution of container-based workflows by [@CenturyLinkLabs][centurylinklabs]
      • FuGu - Docker run wrapper without orchestration by [@mattes](https://github.com/mattes)
      • Hokusai - A Docker + Kubernetes CLI for application developers; used to containerize an application and to manage its lifecycle throughout development, testing, and release cycles. From [@artsy](https://github.com/artsy)
      • Preevy - Preview environments for Docker and Docker Compose projects. Test your changes and get feedback from devs and non-devs (Product/Design) by deploying pull requests to the your cloud provider as part of your CI pipeline.
      • Shutit - Tool for building and maintaining complex Docker deployments by [@ianmiell](https://github.com/ianmiell)
      • subuser - Makes it easy to securely and portably run graphical desktop applications in Docker
      • T.A.D.S. boilerplate - The power of Ansible and Terraform + the simplicity of Docker Swarm = Infrastructure as Code and DevOps best practices. By [@Thomvaill](https://github.com/Thomvaill)
      • Terraform cloud-init config - Terraform module for deploying a single Docker image or `docker-compose.yaml` file to any Cloud™ VM
      • Turbo - Simple and Powerful utility for docker. By [@ramitsurana][ramitsurana]
      • udocker - A tool to execute simple docker containers in batch or interactive systems without root privileges by [@inidigo-dc](https://github.com/indigo-dc)
      • Vagrant - Docker provider - Good starting point is [vagrant-docker-example](https://github.com/bubenkoff/vagrant-docker-example) by [@bubenkoff](https://github.com/bubenkoff)
  • Docker Images

    • Base Tools

      • sidecar
      • amicontained - Container introspection tool. Find out what container runtime is being used as well as features available by [@genuinetools][genuinetools]
      • Chaperone - A single PID1 process designed for docker containers. Does user management, log management, startup, zombie reaping, all in one small package. by [@garywiz](https://github.com/garywiz)
      • ckron - A cron-style job scheduler for docker, by [@nicomt](https://github.com/nicomt)
      • docker-alpine - A super small Docker base image _(5MB)_ using Alpine Linux by [@gliderlabs][gliderlabs]
      • dockerize - Utility to simplify running applications in docker containers by [@jwilder][jwilder], [@powerman][powerman]
      • GoSu - Run this specific application as this specific user and get out of the pipeline (entrypoint script tool) by [@tianon](https://github.com/tianon)
      • is-docker - Check if the process is running inside a Docker container by [@sindresorhus][sindresorhus]
      • lstags - sync Docker images across registries by [@ivanilves](https://github.com/ivanilves)
      • NVIDIA-Docker - The NVIDIA Container Runtime for Docker by [@NVIDIA][nvidia]
      • SparkView - Access VMs, desktops, servers or applications anytime and from anywhere, without complex and costly client roll-outs or user management.
      • su-exec - This is a simple tool that will simply execute a program with different privileges. The program will be executed directly and not run as a child, like su and sudo does, which avoids TTY and signal issues. Why reinvent gosu? This does more or less exactly the same thing as gosu but it is only 10kb instead of 1.8MB. By [ncopa](https://github.com/ncopa)
      • sue - Executes a program as a user different from the user running sue. This is a maintainable alternative to ncopa/su-exec, which is the better tianon/gosu. This one is far better (higher performance, smaller size), than the original gosu, however it is far easier to maintain, than su-exec, which is written in plain C. Made by [Akito][akito]
      • supercronic - crontab-compatible job runner, designed specifically to run in containers by [@aptible](https://github.com/aptible/)
      • TrivialRC - A minimalistic Runtime Configuration system and process manager for containers [@vorakl](https://github.com/vorakl)
      • Ofelia - Ofelia is a modern and low footprint job scheduler for docker environments, built on Go. Ofelia aims to be a replacement for the old fashioned cron. Supports configuration from container labels and/or configuration files.
    • Builder

      • ansible-bender - A tool utilising `ansible` and `buildah` by [@TomasTomecek][tomastomecek]
      • cekit - A tool used by openshift to build base images using different build engines by [@cekit](https://github.com/cekit).
      • container-diff - An image tool for comparing and analyzing container images by [@GoogleContainerTools][googlecontainertools]
      • container-factory - Produces Docker images from tarballs of application source code by [@mutable](https://github.com/mutable)
      • copy-docker-image - Copy a Docker image between registries without a full Docker installation by [@mdlavin](https://github.com/mdlavin)
      • dlayer - docker layer analyzer by [@orisano](https://github.com/orisano)
      • docker-companion - A command line tool written in Golang to squash and unpack docker images by [@mudler](https://github.com/mudler/)
      • docker-make - Build, tag,and push a bunch of related docker images via a single command.
      • docker-replay - Generate `docker run`command and options from running containers. By [bcicen](https://github.com/bcicen)
      • docker-repack - Repacks a Docker image into a smaller, more efficient version that makes it significantly faster to pull. By [orf](https://github.com/orf)
      • DockerMake - A reproducible Docker image build system for complex software stacks. By [@avirshup](https://github.com/avirshup)
      • dockramp - Proof of Concept: A Client Driven Docker Image Builder by [@jlhawn](https://github.com/jlhawn)
      • essex - Boilerplate for Docker Based Projects: Essex is a CLI utility written in bash to quickly setup clean and consistent Docker projects with Makefile driven workflows. [@jamesbrink](https://github.com/jamesbrink)
      • HPC Container Maker - Generates Dockerfiles from a high level Python recipe, including building blocks for High-Performance Computing components by [@NVIDIA][nvidia]
      • img - Standalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder by [@genuinetools][genuinetools]
      • 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](https://github.com/duedil-ltd)
      • RAUDI - A tool to automatically update (and optionally push to Docker Hub) Docker Images for 3rd party software whenever theres is a new release/update/commit. By [@SecSI](https://github.com/cybersecsi)
      • runlike - Generate `docker run`command and options from running containers by [@lavie](https://github.com/lavie)
      • SkinnyWhale - Skinnywhale helps you make smaller (as in megabytes) Docker containers.
      • Smith - A Micocontainer Builder and can perform multi-stage builds after the image is built [Oracle][oracle]
      • userdef - An advanced `adduser` for your Alpine based Docker images. Made by [Akito][akito]
      • Whaler - Program to reverse Docker images into Dockerfiles by [@P3GLEG](https://github.com/P3GLEG/).
      • Whales - A tool to automatically dockerize your applications by [@icalialabs](https://github.com/IcaliaLabs).
      • Production-Ready Python Containers :heavy_dollar_sign: - A template for creating production-ready Docker images for Python applications.
      • DockerSlim
      • makisu - Uber's fast and flexible unprivileged image builder for Mesos and Kubernetes, with distributed cache support. By [@uber](https://github.com/uber)
      • Derrick - A tool help you to automate the generation of Dockerfile and dockerize application by scanning the code. By [@alibaba](https://github.com/alibaba).
      • Dockly - Dockly is a gem made to ease the pain of packaging an application in Docker by [@swipely](https://github.com/swipely/)
    • Dockerfile

      • chaperone-docker - A set of images using the Chaperone process manager, including a lean Alpine image, LAMP, LEMP, and bare-bones base kits.
      • Dockerfile Generator
      • Dockerfile Project - Trusted Automated Docker Builds. Dockerfile Project maintains a central repository of Dockerfile for various popular open source software services runnable on a Docker container.
      • dockerfilegraph - Visualize your multi-stage Dockerfiles. By [@PatrickHoefler](https://github.com/patrickhoefler)
      • Dockershelf - A repository that serves as a collector for docker recipes that are universal, efficient and slim. Images are updated, tested and published daily via a Travis cron job. Maintained by [@CollageLabs](https://github.com/CollageLabs).
      • dockmoor - Manage docker image references and help to create reproducible builds with Docker. By [@MeneDev](https://github.com/MeneDev)
      • Vektorcloud - A collection of minimal, Alpine-based Docker images
      • @0xy
      • @arun-gupta
      • @awesome-startup