Estimated reading time: 13 minutes

Tutorial labs

Learn how to develop and ship containerized applications, by walking through a sample that exhibits canonical practices. These labs are from the Docker Labs repository.

Sample Description
Docker for Beginners A good “Docker 101” course.
Docker Swarm mode Use Docker for natively managing a cluster of Docker Engines called a swarm.
Service deployment in the cloud This script creates a swarm cluster and deploys a simple service on a cloud provider.
Configuring developer tools and programming languages How to set-up and use common developer tools and programming languages with Docker.
Live Debugging Java with Docker Java developers can use Docker to build a development environment where they can run, test, and live debug code running within a container.
Docker for Java Developers Offers Java developers an intro-level and self-paced hands-on workshop with Docker.
Live Debugging a Node.js application in Docker Node developers can use Docker to build a development environment where they can run, test, and live debug code running within a container.
Dockerizing a Node.js application This tutorial starts with a simple Node.js application and details the steps needed to Dockerize it and ensure its scalability.
Docker for ASP.NET and Windows containers Docker supports Windows containers, too! Learn how to run ASP.NET, SQL Server, and more in these tutorials.
Docker Security How to take advantage of Docker security features.
Building a 12-factor application with Docker Use Docker to create an app that conforms to Heroku’s “12 factors for cloud-native applications.”

Library references

These docs are imported from the official Docker Library docs, and help you use some of the most popular software that has been “Dockerized” into Docker images.

Image name Description
adminer Database management in a single PHP file.
aerospike Aerospike – the reliable, high performance, distributed database optimized for flash and RAM.
alpine A minimal Docker image based on Alpine Linux with a complete package index and only 5 MB in size!
amazonlinux Amazon Linux is an execution environment for running applications on Amazon EC2.
arangodb ArangoDB - a distributed database with a flexible data model for documents, graphs, and key-values.
backdrop The comprehensive CMS for small to medium sized businesses and non-profits.
bash Bash is the GNU Project’s Bourne Again SHell
bonita Bonita BPM is an open-source business process management and workflow suite
buildpack-deps A collection of common build dependencies used for installing various modules, e.g., gems.
busybox Busybox base image.
cassandra Apache Cassandra is an open-source distributed storage system.
centos The official build of CentOS.
chronograf Chronograf is a visualization tool for time series data in InfluxDB.
cirros CirrOS is a Tiny OS that specializes in running on a cloud.
clearlinux Official docker build of Clear Linux OS for Intel Architecture
clojure Clojure is a dialect of Lisp that runs on the JVM.
composer Composer is a dependency manager written in and for PHP.
consul Consul is a datacenter runtime that provides service discovery, configuration, and orchestration.
convertigo Convertigo is an open source MBaaS/MADP platform for mobile application development and back-end.
couchbase Couchbase Server is a NoSQL document database with a distributed architecture.
couchdb CouchDB is a database that uses JSON for documents, JavaScript for MapReduce and HTTP for its API.
crate CrateDB is a distributed SQL database handles massive amounts of machine data in real-time.
crux CRUX is a lightweight Linux distribution targeted at experienced Linux users
debian Debian is a Linux distribution that’s composed entirely of free and open-source software.
docker Docker in Docker!
drupal Drupal is an open source content management platform powering millions of websites and applications.
eclipse-mosquitto Eclipse Mosquitto is an open source message broker which implements MQTT version 3.1 and 3.1.1
eggdrop The official Docker image of Eggdrop- IRC’s oldest actively-developed bot!
elixir Elixir is a dynamic, functional language for building scalable and maintainable applications.
erlang Erlang is a programming language used to build massively scalable systems with high availability.
fedora Official Docker builds of Fedora
flink Apache Flink® is a powerful open-source distributed stream and batch processing framework.
fsharp F# is a multi-paradigm language encompassing functional, imperative, and object-oriented styles
gazebo Gazebo is an open source project for simulating robots, offering robust physics and rendering.
gcc The GNU Compiler Collection is a compiling system that supports several languages.
geonetwork GeoNetwork is a FOSS catalog for spatially referenced resources.
ghost Ghost is a free and open source blogging platform written in JavaScript
golang Go (golang) is a general purpose, higher-level, imperative programming language.
gradle Gradle is a build tool with a focus on build automation and support for multi-language development.
groovy Apache Groovy is a multi-faceted language for the Java platform.
haproxy HAProxy - The Reliable, High Performance TCP/HTTP Load Balancer
haskell Haskell is an advanced purely-functional programming language.
haxe Haxe is a modern, high level, static typed programming language with multiple compilation targets.
hello-seattle Hello from DockerCon 2016 (Seattle)!
hello-world Hello World! (an example of minimal Dockerization)
hola-mundo ¡Hola de DockerCon EU 2015 (Barcelona)!
httpd The Apache HTTP Server Project
hylang Hy is a Lisp dialect that translates expressions into Python’s abstract syntax tree.
ibmjava Official IBM® SDK, Java™ Technology Edition Docker Image.
influxdb InfluxDB is an open source time series database for recording metrics, events, and analytics.
irssi irssi - The IRC client of the future
jenkins Official Jenkins Docker image
jetty Jetty provides a Web server and javax.servlet container.
joomla Joomla! is an open source content management system.
jruby JRuby ( is an implementation of Ruby ( on the JVM.
julia Julia is a high-level, high-performance dynamic programming language for technical computing.
kaazing-gateway Official build of Kaazing Gateway.
kapacitor Kapacitor is an open source framework for processing, monitoring, and alerting on time series data.
known Blogging, meet social. Known is a social publishing platform.
kong Open-source Microservice & API Management layer built on top of NGINX.
lightstreamer Lightstreamer is a real-time messaging server optimized for the Internet.
mageia Official Mageia base image
mariadb MariaDB is a community-developed fork of MySQL intended to remain free under the GNU GPL.
maven Apache Maven is a software project management and comprehension tool.
mediawiki MediaWiki is a free software open source wiki package written in PHP.
memcached Free & open source, high-performance, distributed memory object caching system.
mongo-express Web-based MongoDB admin interface, written with Node.js and express
mongo MongoDB document databases provide high availability and easy scalability.
mono Mono is an open source implementation of Microsoft’s .NET Framework
mysql MySQL is a widely used, open-source relational database management system (RDBMS).
nats-streaming NATS Streaming is an open-source, high-performance, cloud native messaging streaming system.
nats NATS is an open-source, high-performance, cloud native messaging system.
neo4j Neo4j is a highly scalable, robust native graph database.
neurodebian NeuroDebian provides neuroscience research software for Debian, Ubuntu, and other derivatives.
nextcloud A safe home for all your data
nginx Official build of Nginx.
node Node.js is a JavaScript-based platform for server-side and networking applications.
notary Notary server and signer cooperatively handle signing and distribution of notary repositories.
nuxeo Nuxeo is an open source Content Management Platform that is completely customizable.
odoo Odoo (formerly known as OpenERP) is a suite of open-source business apps.
openjdk OpenJDK is an open-source implementation of the Java Platform, Standard Edition
opensuse This project contains the stable releases of the openSUSE distribution.
oraclelinux Oracle Linux is an open-source operating system suitable for general purpose or Oracle workloads.
orientdb OrientDB a Multi-Model Open Source NoSQL DBMS that combines graphs and documents.
owncloud ownCloud is a self-hosted file sync and share server.
percona Percona Server is a fork of the MySQL relational database management system created by Percona.
perl Perl is a high-level, general-purpose, interpreted, dynamic programming language.
photon Photon OS is a technology preview of a minimal Linux container host.
php-zendserver Zend Server - the integrated PHP application platform for mobile and web apps.
php While designed for web development, the PHP scripting language also provides general-purpose use.
piwik Piwik is the leading open-source analytics platform that gives you more than powerful analytics.
plone Plone is a free and open source content management system built on top of Zope.
postgres The PostgreSQL object-relational database system provides reliability and data integrity.
pypy PyPy is a fast, compliant alternative implementation of the Python language.
python Python is an interpreted, interactive, object-oriented, open-source programming language.
r-base R is a system for statistical computation and graphics.
rabbitmq RabbitMQ is an open source multi-protocol messaging broker.
rakudo-star Rakudo Perl 6, or simply Rakudo, is a compiler for the Perl 6 programming language.
rapidoid Rapidoid is a high-performance HTTP server and modern Java web framework / application container.
redis Redis is an open source key-value store that functions as a data structure server.
redmine Redmine is a flexible project management web application written using Ruby on Rails framework
registry The Docker Registry 2.0 implementation for storing and distributing Docker images
rethinkdb RethinkDB is an open-source, document database that makes it easy to build and scale realtime apps. The Complete Open Source Chat Solution
ros The Robot Operating System (ROS) is an open source project for building robot applications.
ruby Ruby is a dynamic, reflective, object-oriented, general-purpose, open-source programming language.
rust Rust is a systems programming language focused on safety, speed, and concurrency.
scratch an explicitly empty image, especially for building images “FROM scratch”
sentry Sentry is a realtime, platform-agnostic error logging and aggregation platform
silverpeas Silverpeas is a turnkey and open-source Collaborative and Social-Networking Portal.
solr Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene™.
sonarqube SonarQube is an open source platform for continuous inspection of code quality.
sourcemage Source Mage is a source-based GNU/Linux distribution with maximum flexibility in customization.
spiped Spiped is a utility for creating symmetrically encrypted and authenticated pipes between sockets.
storm Apache Storm is a free and open source distributed realtime computation system.
swarm Swarm: a Docker-native clustering system.
swift Swift is a general-purpose programming language using a modern approach to safety and performance.
swipl SWI-Prolog offers a comprehensive free Prolog environment.
telegraf Telegraf is an agent for collecting metrics and writing them to InfluxDB or other outputs.
thrift Thrift is a framework for generating client and services from an IDL.
tomcat Apache Tomcat is an open source implementation of the Java Servlet and JavaServer Pages technologies
tomee Apache TomEE is an all-Apache Java EE certified stack where Apache Tomcat is top dog.
traefik Træfɪk, a modern reverse proxy
ubuntu Ubuntu is a Debian-based Linux operating system based on free software.
vault Vault is a tool for securely accessing secrets via a unified interface and tight access control.
websphere-liberty Official IBM WebSphere Application Server for Developers Liberty image.
wordpress The WordPress rich content management system can utilize plugins, widgets, and themes.
xwiki XWiki: The Advanced Open Source Enterprise Wiki.
znc ZNC - An advanced IRC bouncer
zookeeper Apache ZooKeeper is an open-source server which enables highly reliable distributed coordination.

Sample applications

Run popular software using Docker.

Sample Description
apt-cacher-ng Run a Dockerized apt-cacher-ng instance.
ASP.NET Core + SQL Server on Linux Run a Dockerized ASP.NET Core + SQL Server environment.
CouchDB Run a Dockerized CouchDB instance.
Django + PostgreSQL Run a Dockerized Django + PostgreSQL environment.
PostgreSQL Run a Dockerized PosgreSQL instance.
Rails + PostgreSQL Run a Dockerized Rails + PostgreSQL environment.
Riak Run a Dockerized Riak instance.
SSHd Run a Dockerized SSHd instance.