RUEN
К статьям
Бесплатно Настройка

Установка Docker в Ubuntu 22.04

Редакция Vast Sale, 7 мин

Docker — платформа контейнеризации с открытым исходным кодом. Она позволяет упаковать приложение со всеми его библиотеками в контейнер и запускать его одинаково на любой машине. На одном компьютере можно держать много контейнеров, и они не мешают друг другу и основной системе.

Какие версии Ubuntu подходят

По официальной документации Docker нужна 64-разрядная Ubuntu одной из версий:

  • Ubuntu 25.10 (Questing)
  • Ubuntu 25.04 (Plucky)
  • Ubuntu 24.04 LTS (Noble)
  • Ubuntu 22.04 LTS (Jammy)

Проверить свою версию:

code
lsb_release -a
Ubuntu 22.04.5 LTS, кодовое имя jammy
Ubuntu 22.04.5 LTS, кодовое имя jammy
Все команды ниже выполняются от root. Если вы работаете обычным пользователем — добавляйте sudo перед каждой командой.

Шаг 1. Удаляем неофициальные пакеты

В репозитории Ubuntu есть свои сборки: docker.io, docker-compose, docker-compose-v2, docker-doc, docker-buildx, podman-docker, а также containerd и runc. Они конфликтуют с официальными пакетами Docker, поэтому перед установкой их нужно удалить. Если ничего из этого не стоит, команда просто ничего не сделает.

code
apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)
Образы, контейнеры и тома в /var/lib/docker при этом не удаляются.

Шаг 2. Подготовка

Обновляем список пакетов и ставим два нужных пакета: curl — чтобы скачать ключ, ca-certificates — для проверки HTTPS-сертификатов. В Ubuntu 22.04 они обычно уже стоят. Пакеты apt-transport-https и software-properties-common, которые часто советуют в старых инструкциях, для этой установки не нужны.

code
apt update
apt install -y ca-certificates curl

Проверить, что пакеты установлены (ii в начале строки — пакет стоит):

code
dpkg -l curl ca-certificates gnupg | tail -n +4
Пакеты установлены — в начале строк стоит ii
Пакеты установлены — в начале строк стоит ii

Шаг 3. Ключ и репозиторий Docker

Скачиваем GPG-ключ Docker — по нему apt проверяет, что пакеты подписаны именно Docker, — и подключаем репозиторий в современном формате .sources. Архитектура и кодовое имя версии Ubuntu подставляются автоматически, поэтому те же команды работают и на 24.04.

code
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc

tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

apt update

Проверяем, что пакеты Docker теперь берутся с download.docker.com:

code
apt-cache madison docker-ce | head -4
Доступные версии docker-ce из официального репозитория
Доступные версии docker-ce из официального репозитория
Если download.docker.com не открывается от вашего провайдера, установку придётся делать через VPN.

Шаг 4. Установка Docker

Ставим сам Docker, консольный клиент, containerd и два плагина — buildx (сборка образов) и compose (запуск нескольких контейнеров одним файлом):

code
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Служба запускается сама и добавляется в автозагрузку. Проверяем статус — должно быть active (running):

code
systemctl status docker --no-pager
Служба docker запущена и включена в автозагрузку
Служба docker запущена и включена в автозагрузку

Финальная проверка — тестовый контейнер. Docker скачает крошечный образ hello-world и выведет приветствие:

code
docker run hello-world
...
Hello from Docker!
This message shows that your installation appears to be working correctly.

Шаг 5. Docker Compose

Когда проекту нужно сразу несколько контейнеров — например, бэкенд, фронтенд и база данных, — управлять ими по одному неудобно. Docker Compose описывает все сервисы в одном файле docker-compose.yml и поднимает их одной командой.

Compose уже установлен на шаге 4 как плагин и вызывается через пробел — docker compose:

code
docker compose version
docker buildx version
Плагины Compose и Buildx установлены
Плагины Compose и Buildx установлены
Не ставьте пакет docker-compose из репозитория Ubuntu (apt install docker-compose). Это первая версия Compose на Python, её давно не развивают, и она тянет за собой конфликтующий docker.io.

Запуск Docker без sudo

По умолчанию команды docker работают только от root. Чтобы обычный пользователь мог запускать их без sudo, добавьте его в группу docker и перезайдите в систему:

code
usermod -aG docker имя_пользователя     # username
# перезайти в систему, затем проверить / log out and back in, then check:
docker run hello-world
Участник группы docker фактически получает права root на этой машине. Добавляйте туда только тех, кому доверяете полностью.

Как полностью удалить Docker

code
apt purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
rm -rf /var/lib/docker /var/lib/containerd     # удалит все образы, контейнеры и тома / deletes all images, containers and volumes
rm /etc/apt/sources.list.d/docker.sources /etc/apt/keyrings/docker.asc

Итог

  • Docker ставится из официального репозитория download.docker.com, а не из пакета docker.io.
  • Compose — это плагин docker compose, отдельный пакет docker-compose не нужен.
  • Проверка: systemctl status docker и docker run hello-world.

Нужна помощь с переходом?

Сделаем настройку под ключ с гарантией запуска.

Смотреть услуги

Новости и разборы рынка GPU — в нашем Telegram-канале @flux_vast_news

© Vast Sale · Источник: https://vast.sale/articles/a22
Копирование, пересказ и обработка ИИ-системами допускаются только с сохранением активной ссылки на https://vast.sale