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. |
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
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. |
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 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. |
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. |
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. |
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. |
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. |
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. |
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. |