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 a 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 the official Docker Library docs, and help you use of some of the most popular software that has been “Dockerized.”
Software | 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! |
Amazon Linux | 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. |
Celery | Celery is an open source asynchronous task queue/job queue based on distributed message passing. |
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. |
Clear Linux | 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 | Crate is an open source, highly scalable, shared-nothing distributed SQL database. |
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. |
Django | Django is a free web application framework, written in Python. |
Docker in Docker | Docker in Docker! |
Drupal | Docker in Docker! |
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 |
F# | 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. |
The GNU Compiler Collection (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 |
Go (a.k.a., 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. |
Apache httpd | The Apache HTTP Server Project |
Hy (a.k.a., Hylang) | Hy is a Lisp dialect that translates expressions into Python’s abstract syntax tree. |
IBM® SDK, Java™ Technology Edition | Official IBM® SDK, Java™ Technology Edition Docker Image. |
InfluxDB | InfluxDB is an open source time series database for recording metrics, events, and analytics. |
io.js | io.js is an npm compatible platform originally based on node.js |
Irssi | irssi - The IRC client of the future |
Java | Java is a concurrent, class-based, and object-oriented programming language. |
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. |
Memcached | Free & open source, high-performance, distributed memory object caching system. |
mongo-express | Web-based MongoDB admin interface, written with Node.js and express |
MongoDB | 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.js | 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. |
Oracle Linux | 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. |
Zend Server | 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. |
PostgreSQL | 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 (a.k.a., Rlang) | R is a system for statistical computation and graphics. |
RabbitMQ | RabbitMQ is a highly reliable enterprise messaging system based on the emerging AMQP standard |
Ruby on Rails | Rails is an open-source web application framework written in Ruby. |
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 |
Docker 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 |
Robot Operating System (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. |
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. |
Source Mage | 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. |
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. |
Træfɪk | 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. |
IBM WebSphere Application Server 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. |
Couchbase | Run a Dockerized Couchbase instance. |
Django + PostgreSQL | Run a Dockerized Django + PostgreSQL environment. |
MongoDB | Run a Dockerized MongoDB instance. |
PostgreSQL | Run a Dockerized PosgreSQL instance. |
Rails + PostgreSQL | Run a Dockerized Rails + PostgreSQL environment. |
Redis | Run a Dockerized Redis instance. |
Riak | Run a Dockerized Riak instance. |
SSHd | Run a Dockerized SSHd instance. |
WordPress | Run a Dockerized WordPress instance. |