Docker — это не волшебная таблетка и уж точно не «революция в IT», как любят кричать на конференциях. Это просто инструмент, который запускает твой софт в контейнерах так, что он не орёт про «а у меня на проде работает».
Если ты девопс, разработчик или просто человек, который устал настраивать окружение каждый раз с нуля, Docker сэкономит тебе время и нервы. Но давай без сказок — тут будет установка на Ubuntu 20.04 по-людски: команды, пояснения и минимум лирики.

Почему не ставить из дефолтных реп?

Да, в Ubuntu уже есть Docker. Проблема в том, что это обычно версия позапрошлогоднего снега. Она вроде работает, но иногда падает в неожиданных местах. Если хочешь свежак, ставь из официальных реп Docker.

Шаг 1. Ставим зависимости

Сначала надо поставить всё, чтобы Ubuntu могла тянуть пакеты через HTTPS.

sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Шаг 2. Подключаем официальный репозиторий

Добавляем GPG-ключ:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Врубаем реп Docker:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Шаг 3. Ставим Docker

Для последней версии:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

Хочешь конкретную версию (например, для совместимости с каким-нибудь древним CI)? Сначала глянь список:

apt list -a docker-ce

Потом ставь с указанием:

sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io

Шаг 4. Проверяем, жив ли демон

sudo systemctl status docker

Должно быть что-то вроде active (running). Если нет — смотри логи и готовься материться.

Шаг 5. Запуск Docker без sudo

По дефолту Docker — игрушка только для root и sudo. Если не хочешь каждый раз писать sudo, добавь себя в группу docker:

sudo usermod -aG docker $USER 

После этого перелогинься или перезагрузи сессию.

Шаг 6. Тест-драйв

Проверяем, что всё взлетело:

docker run hello-world

Если в ответ получил «Hello from Docker» — всё норм. Контейнер тут же закроется, потому что у него нет долгоживущих процессов.

Docker Hub

По умолчанию Docker качает образы с Docker Hub. Там есть всё: от нормальных официальных образов до странных сборок от людей, которые явно скучали в пятницу вечером. Перед тем как тянуть что-то левое, смотри, кто автор.

Апдейты и заморозка версии

Апдейтить Docker можно обычным способом:

sudo apt update && sudo apt upgrade

Если вдруг версия обновилась и что-то отвалилось — можно заморозить:

sudo apt-mark hold docker-ce

Удаление Docker (и его мусора)

Docker любит оставлять за собой контейнеры, образы и прочий хлам. Перед удалением почисти:

docker container stop $(docker container ls -aq)
docker system prune -a --volumes

Потом уже сноси:

sudo apt purge docker-ce
sudo apt autoremove

Итог

  • Хочешь просто поставить и не париться — бери последнюю версию из офф. реп.
  • Не забывай добавлять себя в группу docker.
  • Не качай образы из непонятных мест, если не хочешь потом разбираться, почему контейнер майнит.