Docker на Ubuntu: установка и первый контейнер без ошибок
За 10–15 минут установите Docker Engine на Ubuntu 24.04 LTS, проверьте службу и запустите первый контейнер. Разбираем частые сбои: неверный репозиторий, неработающий демон и отказ в доступе к Docker.

За 10–15 минут вы установите Docker Engine на Ubuntu 24.04 LTS, проверите, что служба работает, и запустите тестовый контейнер. Инструкция подходит для Docker Engine 27.x и более новых версий из официального stable-репозитория; на выходе вы увидите сообщение об успешном запуске.
Что нужно до начала
Нужен компьютер или виртуальная машина с Ubuntu 24.04 LTS, подключением к интернету и учётной записью с правами администратора. Команды ниже рассчитаны на Ubuntu, не на Windows, macOS или сервер с другим дистрибутивом. На них установщик и расположение системных файлов могут отличаться.
Docker Engine устанавливается из официального репозитория Docker. Это не Docker Desktop: графическое приложение для Windows и macOS здесь не рассматриваем. В командах используется sudo, поэтому пароль от учётной записи администратора должен быть у вас под рукой.
Установка и первый запуск
Удалите конфликтующие пакеты, если они есть. В Ubuntu могут быть установлены пакеты с похожими названиями, но из другого источника. Команда удаляет только перечисленные пакеты; если их нет, это не мешает продолжить.
sudo apt remove docker.io docker-doc docker-compose podman-docker containerd runcПроверка: команда завершилась без ошибки. Сообщение о том, что пакеты не установлены, — нормальный результат.
Подготовьте APT и добавьте ключ репозитория Docker. APT — менеджер пакетов Ubuntu: он загружает и обновляет программы из настроенных источников.
sudo apt update sudo apt install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.ascПроверка: файл
/etc/apt/keyrings/docker.ascсоздан, а команды завершились без сообщения об ошибке. Предупреждение о доступных обновлениях Ubuntu не означает, что установка Docker не удалась.Добавьте официальный репозиторий. Команда определяет архитектуру компьютера и кодовое имя Ubuntu, поэтому не нужно подставлять их вручную.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo ${UBUNTU_CODENAME:-$VERSION_CODENAME}) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt updateПроверка: обновление списка пакетов заканчивается без ошибки о том, что репозиторий или его Release-файл недоступен. В выводе APT должен появиться источник Docker.
Установите Docker Engine и плагины. Вместе с движком ставятся командная строка, containerd и плагины Buildx и Compose. Для первого запуска достаточно самого движка и команды
docker.sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginПроверка: APT завершил установку и вернул командную строку. Если он сообщает, что пакета нет, не скачивайте случайный архив: сначала проверьте кодовое имя Ubuntu и настройку репозитория.
Проверьте версию и запустите тестовый контейнер. Тег
hello-worldуказывает на небольшой образ, который Docker скачает, если его ещё нет на компьютере.sudo docker --version sudo docker run hello-worldПроверка: первая команда выводит версию Docker, а вторая — текст
Hello from Docker!. После этого контейнер завершает работу: для теста это ожидаемо.
Если
hello-worldзапустился, значит Docker смог обратиться к демону, загрузить образ и выполнить контейнер. Это проверка базовой установки, а не готовности приложения к продакшену.
Если не получилось
Package docker-ce has no installation candidate. APT не видит пакет в подключённом источнике. Проверьте, что у вас именно Ubuntu 24.04, файл репозитория создан в/etc/apt/sources.list.d/docker.list, а командаsudo apt updateпрошла без ошибок. На другом дистрибутиве Ubuntu подставлять кодовое имя наугад нельзя.Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Клиент не может связаться с фоновой службой Docker. Выполнитеsudo systemctl status docker; если служба остановлена, запуститеsudo systemctl start docker, затем повторите тест.permission denied while trying to connect to the Docker daemon socket. Часто команда запущена безsudo, а у текущего пользователя нет доступа к сокету Docker. Для первых проверок используйтеsudo docker run hello-world. Добавление пользователя в группуdockerснимает необходимость вsudo, но даёт права, близкие к root; не делайте это на общей или рабочей машине без понимания последствий.Temporary failure resolvingили ошибка загрузки образа. Контейнерный движок не может получить доступ к сети или разрешить имя реестра. Проверьте интернет на самой машине, DNS и сетевые ограничения, затем повторите команду. Сам факт успешной установки Docker не гарантирует, что доступ к реестру не блокирует прокси или межсетевой экран.Для другого дистрибутива не находится репозиторий Ubuntu. Не продолжайте установку командами для Ubuntu на Debian или другой системе. Откройте официальную инструкцию именно для своей ОС: имена пакетов и шаги настройки источника отличаются.
Что делать дальше
После теста проверьте, что Docker запускается после перезагрузки: sudo systemctl is-enabled docker. Если команда сообщает enabled, служба включена при старте системы. Затем запустите контейнер с приложением, которое не требует открывать порты или хранить важные данные, и разберитесь с томами, сетями и Compose отдельно. При проблеме в рабочем сервисе смотрите логи контейнера, состояние службы и доступность образа: успешный hello-world сам по себе не проверяет эти части вашей инфраструктуры.
Контейнер — изолированный процесс, запущенный из образа. Образ содержит файловую систему и настройки, необходимые для запуска; контейнер использует их как основу, но его данные не обязательно сохраняются после удаления.
Тест и проверочная: Быстрые ответы с объяснением, почему остальные варианты неверны
Спросить за 10 ₽Источники: Install Docker Engine on Ubuntu — Docker Docs, Linux post-installation steps for Docker Engine — Docker Docs
Частые вопросы
Можно ли выполнить эти команды на Debian или в WSL?
Нужно ли устанавливать Docker Desktop на Ubuntu?
Почему команда docker работает только с sudo?
Что делать, если у меня другая версия Ubuntu?
Я получил Hello from Docker!, но приложение не запускается. Почему?
Нужно ли удалять контейнер hello-world после проверки?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.