Docker Documentation

Estimated reading time: 4 minutes

Docker packages your app with its dependencies, freeing you from worrying about your system configuration, and making your app more portable.

Learn the basics of Docker

The basic tutorial introduces Docker concepts, tools, and commands. The examples show you how to build, push, and pull Docker images, and run them as containers. This tutorial stops short of teaching you how to deploy applications.

Define and deploy applications

The define-and-deploy tutorial shows how to relate containers to each other and define them as services in an application that is ready to deploy at scale in a production environment. Highlights Compose Version 3 new features and swarm mode.

Start the basic tutorial

Start the application tutorial

Typical Docker workflow

① Get your code and its dependencies into Docker containers.

- Write a Dockerfile that defines the execution environment and pulls in your code.

- If your app depends on external services (such as Redis or MySQL), find them on a registry like Docker Hub, and refer to them in a Docker Compose file, along with a call to your app, so they’ll run simultaneously.

- Software providers also distribute paid software on the Docker Store.

- Build, then run your containers on a virtual host with Docker Machine as you develop.

② Configure networking and storage for your solution, if needed.

③ Upload builds to a registry (ours or yours) or your cloud providers to collaborate with your team.

④ To run your app as a set of services across multiple hosts, set up a Swarm cluster and scale it to meet demand. Use Universal Control Plane to manage your swarm in a friendly UI!

⑤ Deploy to your preferred cloud providers with Docker Cloud, or use Docker Datacenter to deploy to your own on-premise hardware.


  • Docker for Mac

    Docker for Mac

    A native application using the macOS sandbox security model which delivers all Docker tools to your Mac.

  • Docker for Windows

    Docker for Windows

    A native Windows application which delivers all Docker tools to your Windows computer.

  • Docker for Linux

    Docker for Linux

    Install Docker on a computer which already has a Linux distribution installed.

  • Docker Engine

    Docker Engine

    Create Docker images and run Docker containers.

    As of v1.12.0, Engine includes swarm mode container orchestration features.

  • Docker Hub

    Docker Hub

    A hosted registry service for managing and building images.

  • Docker Cloud

    Docker Cloud

    A hosted service for building, testing, and deploying Docker images to your hosts.

  • Docker Trusted Registry

    Docker Trusted Registry

    (DTR) stores and signs your images.

  • Docker Universal Control Plane

    Docker Universal Control Plane

    (UCP) Manage a cluster of on-premises Docker hosts as if they were a single machine.

  • Docker Machine

    Docker Machine

    Automate container provisioning on your network or in the cloud. Available for Windows, macOS, or Linux.

  • Docker Compose

    Docker Compose

    Define applications built using multiple containers.

chat icon Feedback? Suggestions? Can't find something in the docs?
Edit this page Request docs changes Get support
Rate this page: