Samples
Estimated reading time: 13 minutesTutorial 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! |
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. |
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 (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 | Open-source Microservice & API Management layer built on top of NGINX. |
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. |
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. |
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. |
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. |