Samples

Estimated reading time: 14 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.
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.”

Sample applications

Run popular software using Docker.

Sample Description
apt-cacher-ng Run a Dockerized apt-cacher-ng instance.
.Net Core application Run a Dockerized ASP.NET Core application.
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 PostgreSQL instance.
Rails + PostgreSQL Run a Dockerized Rails + PostgreSQL environment.
Riak Run a Dockerized Riak instance.
SSHd Run a Dockerized SSHd instance.

Library references

The following table provides a list of popular official Docker images. For detailed documentation, select the specific image name.

Image name Description
adminer Database management in a single PHP file.
adoptopenjdk Official Images for OpenJDK + HotSpot and OpenJDK + Eclipse OpenJ9 binaries built by AdoptOpenJDK.
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!
alt The official build of ALT Linux.
amazoncorretto Corretto is a no-cost, production-ready distribution of the Open Java Development Kit (OpenJDK).
amazonlinux Amazon Linux provides a stable, secure, and high-performance execution environment for applications.
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 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
clefos The official build of ClefOS.
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, an HTTP API, & JavaScript/declarative indexing.
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 5, 3.1.1 and 3.1
eggdrop The official Docker image of Eggdrop- IRC’s oldest actively-developed bot!
elasticsearch Elasticsearch is a powerful open source search and analytics engine that makes data easy to explore.
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.
euleros The official release of EulerOS.
express-gateway The Official Docker Image of Express Gateway, an API Gateway for APIs and Microservices
fedora Official Docker builds of Fedora
flink Apache Flink® is a powerful open-source distributed stream and batch processing framework.
fluentd Fluentd is an open source data collector for unified logging layer
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-world Hello World! (an example of minimal Dockerization)
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
jetty Jetty provides a Web server and javax.servlet container.
jobber Jobber is an alternative to cron, with sophisticated status-reporting and error-handling.
joomla Joomla! is an open source content management system.
jruby JRuby (http://www.jruby.org) is an implementation of Ruby (http://www.ruby-lang.org) 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.
kibana Kibana gives shape to any kind of data — structured and unstructured — indexed in Elasticsearch.
known Blogging, meet social. Known is a social publishing platform.
kong The Cloud-Native API Gateway & Service Mesh for APIs and Microservices
lightstreamer Lightstreamer is a real-time messaging server optimized for the Internet.
logstash Logstash is a tool for managing events and logs.
mageia Official Mageia base image
mariadb MariaDB is a community-developed fork of MySQL intended to remain free under the GNU GPL.
matomo Matomo is the leading open-source analytics platform that gives you more than powerful analytics.
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.
open-liberty Official Open Liberty image.
openjdk OpenJDK is an open-source implementation of the Java Platform, Standard Edition
opensuse DEPRECATED - for current images by the openSUSE Project see opensuse/leap and opensuse/tumbleweed.
oraclelinux Official Docker builds of Oracle Linux.
orientdb OrientDB a Multi-Model Open Source NoSQL DBMS that combines graphs and documents.
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 an open source 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.
plone Plone is a free and open source content management system built on top of Zope.
postfixadmin Postfix Admin - web based administration interface for Postfix mail servers.
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.
rocket.chat 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.
sapmachine Official SapMachine Docker Image.
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.
sl Official containers for Scientific Linux(SL)
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 high-performance system programming language, to learn more about Swift visit swift.org.
swipl SWI-Prolog offers a comprehensive free Prolog environment.
teamspeak TeamSpeak is software for quality voice communication via the Internet.
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 Traefik, The Cloud Native Edge Router
ubuntu Ubuntu is a Debian-based Linux operating system based on free software.
varnish Varnish is an HTTP accelerator designed for content-heavy dynamic web sites as well as APIs.
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.
yourls YOURLS is a set of PHP scripts that will allow you to run Your Own URL Shortener.
znc ZNC - An advanced IRC bouncer
zookeeper Apache ZooKeeper is an open-source server which enables highly reliable distributed coordination.