Docker for Web Developers

How to install Docker on Windows, mac OS, and Linux

1,600 words, 8-minute read

Docker can be installed on Linux, mac OS, or Windows.

Requirements and installation instructions can be found on the Docker Docs help pages.

Docker Docs installation

Install Docker on Linux #

Docker Desktop for Linux can be downloaded from Docker Hub. The installer includes the Docker server, CLI, Docker Compose, Docker Swarm, and Kubernetes.

Alternatively, the Docker command-line tool is available in official Linux repositories although these are often older editions. The latest edition is supported on recent 64-bit editions of popular Linux distros:

Static binaries are available for other distros, although Googling “install Docker on [your OS]” may provide easier instructions, e.g. “install Docker on a Raspberry Pi”.

Follow the Docker documentation for your distro. For example, Docker for Ubuntu is installed with the following commands:

sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

To run Docker commands as a non-root user (without sudo), create and add yourself to a docker group:

sudo groupadd docker
sudo usermod -aG docker $USER

Then reboot to apply all changes.

Install Docker on macOS #

Docker Desktop for macOS Sierra 10.13 and above can be downloaded from Docker Hub. The package includes the Docker server, CLI, Docker Compose, Docker Swarm, and Kubernetes.

Docker Desktop for macOS

Two editions are available: stable and edge with experimental features. The stable version is best for most developers.

Double-click Docker.dmg to open the installer, then drag the Docker icon to the Applications folder. Double-click Docker.app in that folder to launch Docker.

After completion, the whale icon in the status bar indicates Docker is running and commands can be entered in the terminal.

Docker icon on macOS status bar

Install Docker on Windows #

Docker Desktop for Windows requires either WSL2 or Hyper-V.

Windows Subsystem for Linux (WSL) 2 #

WSL allows you to run full Linux environments directly on Windows 10 or Windows 11.

IMPORTANT!
You can not install the Linux edition of Docker within a WSL-powered Linux distro. You must install Docker Desktop for Windows which allows Docker commands to be run in all Windows and Linux terminals.

WSL2 is the recommended default option for Docker on Windows. It is faster than Hyper-V and available in all editions of Windows 11 and Windows 10 from the May 2020 update (version 2004, OS build 19041).

To install WSL2:

  1. Enable hardware virtualization support in your BIOS.

    This will be active on most devices, but check by rebooting and accessing your PC’s BIOS panels – typically by hitting DEL, F2, or F10 as your system starts. Look for Virtualization Technology, VTx or similar options. Ensure they are enabled, save, and reboot.

    WARNING! Be careful when changing BIOS settings – one wrong move could trash your PC.

  2. Enable the Virtual Machine Platform and Windows Subsystem for Linux options in the Turn Windows features on or off panel:

    Enable WSL in Windows

    This can be accessed by hitting the Start button and typing the panel name or from Programs and Features in the classic Control Panel.

  3. Reboot, then enter the following command in a Windows Powershell or cmd prompt to set WSL2 as the default:

    wsl --set-default-version 2
  4. Download and install your preferred distro by searching for “Linux” in the Microsoft Store app. Ubuntu is a good choice.

    Windows Store

  5. To complete the installation, launch your distro by clicking its Store’s Launch button or choosing its icon from the Start menu.

    You may be prompted to install a kernel update – follow the instructions and launch the distro again.

  6. Enter a Linux username and password. These are separate from your Windows credentials although choosing the same ones can be practical.

  7. Ensure your distro is up-to-date. For example, on an Ubuntu bash prompt enter:

    sudo apt update && sudo apt upgrade

You can now install Docker Desktop (see below). For the best performance and stability, store development files in your Linux file system and run Docker from your Linux terminal.

More information about installing and using WSL2:

Hyper-V #

The Microsoft Hyper-V hypervisor is provided free with Windows 10 and 11 Professional and Enterprise. (Windows Home users must use WSL2.)

To install Hyper-V:

  1. Enable hardware virtualization support in your BIOS.

    This will be active on most devices, but check by rebooting and accessing your PC’s BIOS panels – typically by hitting DEL, F2, or F10 as your system starts. Look for Virtualization Technology, VTx or similar options. Ensure they are enabled, save, and reboot.

    WARNING! Be careful when changing BIOS settings – one wrong move could trash your PC.

  2. Enable the Hyper-V option in the Turn Windows features on or off panel then reboot.

    Enable Hyper-V in Windows

    This can be accessed by hitting the Start button and typing the panel name or from Programs and Features in the classic Control Panel.

You can now install Docker Desktop.

Install Docker Desktop for Windows #

Docker Desktop for Windows 10 and 11 can be downloaded from Docker Hub. The installer includes the Docker server, CLI, Docker Compose, Docker Swarm, and Kubernetes.

Two editions are available: stable and edge with experimental features. The stable version is best for most developers.

Double-click Docker Desktop Installer.exe to start the installation process. After completion and launch, the whale icon in the notification area of the task bar indicates Docker is running and ready to accept commands in the Windows Powershell/cmd terminal (and Linux if using WSL2).

Docker icon on Windows task bar

Docker Engine Settings #

Docker uses WSL2 as the default engine when available. You will be prompted to confirm this choice during installation and after WSL2 is installed.

Alternatively, WSL2 can be enabled by checking Use the WSL 2 based engine in the General tab of Settings accessed from the Docker task bar icon. Unchecking the option reverts to Hyper-V.

Docker Windows engine

When using WSL2, at least one Linux distro must be enabled – the default is chosen. You can also permit Docker commands in other distros by accessing the WSL integration panel in the Resources section of the Docker Settings:

Docker Windows WSL2 selection

When using Hyper-V, Docker must be granted access to the Windows file system. Select the drives it is permitted to use by accessing the File Sharing panel in the Resources section of the Docker Settings:

Docker file sharing in Windows

(This option was named Shared Drives in previous editions of Docker Desktop.)

Test your Docker installation #

Check Docker has successfully installed by entering the following command in your terminal:

docker version

A response similar to the following is displayed:

Client: Docker Engine - Community
Version: 19.03.12
API version: 1.40
Go version: go1.13.10
Git commit: abcdef0
Built: Mon Jun 22 15:45:36 2020
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 19.03.12
API version: 1.40 (minimum version 1.12)
...etc...

Ensure Docker Compose is working by entering:

docker-compose version

To receive something like:

docker-compose version 1.27.2, build 8d51620a
docker-py version: 4.3.1
CPython version: 3.7.7
OpenSSL version: OpenSSL 1.1.1c 10 Sep 2019

Optionally, try entering:

docker run hello-world

to verify Docker can pull an image from Docker Hub and start containers as expected…

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows your installation appears to be working correctly.

Key points #

What you’ve learned in this chapter:

  1. How to install and configure Docker on your Linux, macOS, or Windows system.
  2. How to install Docker Compose.
  3. How to test the Docker installation.

The following chapters demonstrate how to use Docker during development…

…but to continue reading, you need to buy the book.


Do you want an easy-to-follow course which demonstrates how to use Docker and create practical web development environments on your Windows, macOS, or Linux PC?

Buy the "Docker for Web Developers" book & video course…

plus your country's sales tax where applicable

HALF PRICE SALE NOW ON!