# Docker Engine

## About this Install Guide

|                  |                       |
|------------------|-----------------------|
| Reading time:    | 15 min                |
| Last updated:    | 22 Jun 2026           |
| Ecosystem dashboard: | [View](https://developer.arm.com/ecosystem-dashboard/linux?package=docker-ce) |

This guide shows you how to install and use the tool with the most common configuration. For advanced options and complete reference information, see the official documentation. Some install guides also include optional next steps to help you explore related workflows or integrations.

## Install Docker Engine on Linux

You can run the following commands to install Docker on any Linux machine and on any architecture, from a cloud server to a Raspberry.

The commands can also be used in the Windows Subsystem for Linux 2 (WSL 2) and on a Chromebook.

### Run the installer

Run the installer for Docker on Linux:

```
curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
```

### Add your user to the Docker group

Add your user to the docker group:

```
sudo usermod -aG docker $USER ; newgrp docker
```

The `newgrp` command avoids the need to log out and back in.

### Confirm the installation

To confirm the installation is successful, run:

```
docker run hello-world
```

The output should be similar to:

```
__output__Hello from Docker!
__output__This message shows that your installation appears to be working correctly.

__output__To generate this message, Docker took the following steps:
__output__ 1. The Docker client contacted the Docker daemon.
__output__ 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
__output__    (arm64v8)
__output__ 3. The Docker daemon created a new container from that image which runs the
__output__    executable that produces the output you are currently reading.
__output__ 4. The Docker daemon streamed that output to the Docker client, which sent it
__output__    to your terminal.

__output__To try something more ambitious, you can run an Ubuntu container with:
__output__ $ docker run -it ubuntu bash

__output__Share images, automate workflows, and more with a free Docker ID:
__output__ https://hub.docker.com/

__output__For more examples and ideas, visit:
__output__ https://docs.docker.com/get-started/
```

To identify the architecture, run:

```
uname -m
```

The output values can be `aarch64` (Arm 64-bit), `armv7l` (Arm 32-bit) or `x86_64`.

### Available Docker Engine versions

The Stable channel (`get.docker.com`) provides the latest releases for general availability.

The Test channel (`test.docker.com`) installs pre-releases that are for testing before general availability.

Replace `get.docker.com` with `test.docker.com` in the installation command to use the test version.

### Handle Linux distributions that don’t support get.docker.com

Some Linux distributions are not supported by [get.docker.com](https://get.docker.com).

Generally, the supported list is as follows:

- Ubuntu
- Debian
- SUSE Linux Enterprise Server
- Red Hat Enterprise Linux
- Fedora
- CentOS

An example of a distribution which is not supported and is popular on Arm is [Manjaro](https://manjaro.org).

On Manjaro, install docker using `pacman`:

```
sudo pacman -Syu
sudo pacman -S docker
sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USER ; newgrp docker
```

To confirm the installation is successful, run the same hello-world example:

```
docker run hello-world
```

### Start and stop the Docker daemon on Linux distributions with systemd

To start the docker daemon:

```
sudo systemctl start docker
```

To stop the docker daemon:

```
sudo systemctl stop docker
```

If the following message is displayed:

```
__output__Warning: Stopping docker.service, but it can still be activated by:
__output__docker.socket
```

Stop docker.socket:

```
sudo systemctl stop docker.socket
```

You can now use Docker Engine and explore [Docker related Learning Paths](https://learn.arm.com/tag/docker/).

You can also create an account on [Docker Hub](https://hub.docker.com) to share images and automate workflows.
