---
description: Instructions for installing Docker CE on Ubuntu
keywords: requirements, apt, installation, ubuntu, install, uninstall, upgrade, update
redirect_from:
- /engine/installation/ubuntulinux/
- /installation/ubuntulinux/
- /engine/installation/linux/ubuntulinux/
- /engine/installation/linux/docker-ce/ubuntu/
title: Get Docker CE for Ubuntu
toc_max: 4
---
To get started with Docker CE on Ubuntu, make sure you
[meet the prerequisites](#prerequisites), then
[install Docker](#install-docker-ce).
## Prerequisites
### Docker EE customers
To install Docker Enterprise Edition (Docker EE), go to
[Get Docker EE for Ubuntu](/install/linux/docker-ee/ubuntu.md)
**instead of this topic**.
To learn more about Docker EE, see
[Docker Enterprise Edition](https://www.docker.com/enterprise-edition/){: target="_blank" class="_" }.
### OS requirements
To install Docker CE, you need the 64-bit version of one of these Ubuntu
versions:
- Artful 17.10 (Docker CE 17.11 Edge and higher only)
- Xenial 16.04 (LTS)
- Trusty 14.04 (LTS)
Docker CE is supported on Ubuntu on `x86_64`, `armhf`, `s390x` (IBM Z), and `ppc64le` (IBM Power) architectures.
> **`ppc64le` and `s390x` limitations**: Packages for IBM Z and Power architectures are only available on Ubuntu Xenial and above.
### Uninstall old versions
Older versions of Docker were called `docker` or `docker-engine`. If these are
installed, uninstall them:
```bash
$ sudo apt-get remove docker docker-engine docker.io
```
It's OK if `apt-get` reports that none of these packages are installed.
The contents of `/var/lib/docker/`, including images, containers, volumes, and
networks, are preserved. The Docker CE package is now called `docker-ce`.
### Supported storage drivers
Docker CE on Ubuntu supports `overlay2` and `aufs` storage drivers.
- For new installations on version 4 and higher of the Linux kernel, `overlay2`
is supported and preferred over `aufs`.
- For version 3 of the Linux kernel, `aufs` is supported because `overlay` or
`overlay2` drivers are not supported by that kernel version.
If you need to use `aufs`, you need to do additional preparation as
outlined below.
#### Extra steps for aufs
For Ubuntu 16.04 and higher, the Linux kernel includes support for OverlayFS,
and Docker CE uses the `overlay2` storage driver by default. If you need
to use `aufs` instead, you need to configure it manually.
See [aufs](/engine/userguide/storagedriver/aufs-driver.md)
Unless you have a strong reason not to, install the
`linux-image-extra-*` packages, which allow Docker to use the `aufs` storage
drivers.
```bash
$ sudo apt-get update
$ sudo apt-get install \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual
```
## Install Docker CE
You can install Docker CE in different ways, depending on your needs:
- Most users
[set up Docker's repositories](#install-using-the-repository) and install
from them, for ease of installation and upgrade tasks. This is the
recommended approach.
- Some users download the DEB package and
[install it manually](#install-from-a-package) and manage
upgrades completely manually. This is useful in situations such as installing
Docker on air-gapped systems with no access to the internet.
- In testing and development environments, some users choose to use automated
[convenience scripts](#install-using-the-convenience-script) to install Docker.
### Install using the repository
Before you install Docker CE for the first time on a new host machine, you need to
set up the Docker repository. Afterward, you can install and update Docker from
the repository.
#### Set up the repository
{% assign download-url-base = "https://download.docker.com/linux/ubuntu" %}
1. Update the `apt` package index:
```bash
$ sudo apt-get update
```
2. Install packages to allow `apt` to use a repository over HTTPS:
```bash
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
```
3. Add Docker's official GPG key:
```bash
$ curl -fsSL {{ download-url-base }}/gpg | sudo apt-key add -
```
Verify that you now have the key with the fingerprint
`9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88`, by searching for the
last 8 characters of the fingerprint.
```bash
$ sudo apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb)