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

На Ubuntu 24.04 LTS установка Docker Engine и запуск первого контейнера займут примерно 10–20 минут, если у вас есть доступ к интернету и права администратора. В конце команда Docker скачает тестовый образ, запустит контейнер и сообщит, что установка работает. Инструкция рассчитана на Ubuntu 24.04 и устанавливает текущую стабильную версию Docker Engine CE из официального репозитория Docker.
Что понадобится
Перед началом проверьте, что у вас есть:
- Ubuntu 24.04 LTS на компьютере или виртуальной машине;
- подключение к интернету;
- учётная запись с правом запускать команды через
sudo; - терминал: откройте его через поиск приложений или сочетанием клавиш Ctrl+Alt+T.
Команды ниже предназначены для Ubuntu. Не запускайте их в Windows или macOS: там Docker обычно ставят через Docker Desktop, а не через репозиторий Docker Engine для Ubuntu. Если на машине уже есть пакеты Docker из репозитория Ubuntu, сначала проверьте инструкции по удалению конфликтующих пакетов в документации Docker.
Установка Docker Engine
Обновите список пакетов и установите утилиты для добавления репозитория:
sudo apt-get update sudo apt-get install ca-certificates curlВведите пароль учётной записи, если терминал его запросит. При вводе символы не отображаются — это обычное поведение. Проверка: обе команды завершились без сообщения об ошибке.
Создайте каталог для ключей и скачайте ключ репозитория Docker:
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Ключ нужен APT, чтобы проверять подлинность пакетов. Проверка: команда завершилась без вывода ошибки; файл ключа доступен для чтения.
Добавьте официальный репозиторий Docker в список источников APT:
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Команда подставит архитектуру и кодовое имя установленной Ubuntu. Проверка: файл
/etc/apt/sources.list.d/docker.listсоздан. Не заменяйте в команде кодовое имя наугад.Обновите список пакетов ещё раз и установите Docker Engine с дополнительными компонентами:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginAPT покажет список пакетов и запросит подтверждение. Нажмите
Y, если готовы продолжить. Проверка: установка завершилась без ошибок. Точный номер установленной версии может меняться, поскольку репозиторий содержит обновления.Убедитесь, что служба Docker запущена:
sudo systemctl status dockerВ выводе найдите состояние
active (running). Если статус открыт в режиме просмотра, нажмитеq, чтобы вернуться в терминал.Запустите тестовый контейнер:
sudo docker run hello-worldDocker скачает небольшой образ, если его ещё нет на компьютере, и создаст контейнер. Проверка: в выводе появится сообщение
Hello from Docker!. Оно означает, что клиент Docker связался со службой, а контейнер запустился и выполнился.
Что именно произошло
Команда docker run попросила Docker найти образ hello-world. Образ — это подготовленный шаблон с файлами и настройками, из которого запускают контейнер. Если шаблона нет локально, Docker скачивает его из реестра образов Docker Hub. Затем контейнер выполняет короткую программу и завершается. Для следующего запуска образ обычно уже не нужно скачивать повторно.
Контейнер — изолированный процесс, который использует ядро операционной системы хоста. Это не отдельная виртуальная машина: контейнер не загружает собственную операционную систему целиком.
Первый успешный запуск доказывает, что Docker работает, но не делает контейнер постоянным: тестовый процесс завершился, а его задача была только сообщить результат.
Проверка версий и повторный запуск
Чтобы увидеть установленную версию клиента, выполните:
docker --version
Команда показывает версию Docker CLI. Проверить доступность сервера Docker и список образов можно отдельно:
sudo docker info
sudo docker image ls
После первого теста в списке образов появится hello-world. Контейнер завершился, поэтому в списке работающих контейнеров его не будет. Это ожидаемо: выполненная программа не продолжает работать в фоне.
Нужно ли добавлять пользователя в группу docker
Пока команды работают с sudo, менять права не обязательно. Чтобы запускать Docker без него, можно добавить пользователя в группу docker, но это не безобидная настройка: доступ к сокету Docker позволяет управлять контейнерами и фактически получить привилегии уровня root на хосте.
Если это личная машина и риск вам подходит, выполните:
sudo usermod -aG docker $USER
Затем выйдите из сеанса пользователя и войдите снова, чтобы обновились группы. Проверка: команда groups показывает docker, а docker run hello-world работает без sudo. На общей машине или сервере не выдавайте доступ к группе Docker без понимания последствий. Для учебного первого запуска безопаснее оставить sudo.
Если установка или запуск не сработали
Permission deniedпри обращении к Docker. Запустите команду сsudo. Если вы добавляли пользователя в группуdocker, выйдите из сеанса и войдите снова; добавление в группу не меняет уже открытую сессию.Cannot connect to the Docker daemon. Служба не запущена или клиент не может к ней подключиться. Проверьтеsudo systemctl status docker. Если служба остановлена, выполнитеsudo systemctl start docker, затем повторите тест.Unable to locate package docker-ce. APT не видит пакет в подключённом источнике. Проверьте, что репозиторий добавлен по инструкции, затем выполнитеsudo apt-get update. Если при обновлении есть ошибка загрузки, разберите её до установки.Не удаётся скачать образ. Проверьте интернет-соединение и повторите запуск позже. В корпоративной сети скачивание может блокировать прокси или правила доступа; в таком случае настройки сети нужно уточнить у администратора.
systemctl status dockerпоказывает ошибку. Не переустанавливайте пакеты наугад. Сохраните текст ошибки и проверьте журнал службы командойsudo journalctl -u docker --no-pager; причина может зависеть от системы и её конфигурации.
Что делать дальше
После теста не запускайте случайный образ на рабочем сервере: сначала проверьте его источник и документацию. Для следующего безопасного эксперимента выберите конкретную задачу, например запуск веб-сервера, и разберитесь, как контейнеру передать порт и сохранить нужные данные. Перед такой настройкой проверьте, что приложение не публикует чувствительные файлы и доступно только тем, кому вы намеренно открыли порт.
Для установки на другую версию Ubuntu, настройки Docker Desktop или подробностей о безопасности используйте официальную документацию Docker. Названия пакетов и способ установки здесь относятся к Docker Engine на Ubuntu 24.04; состав доступных версий в репозитории со временем меняется.
Задачи: математика, физика, химия: Разбор задачи по шагам с проверкой и похожей задачей
Спросить за 10 ₽Источники: Install Docker Engine on Ubuntu — Docker Docs, Linux post-installation steps for Docker Engine — Docker Docs
Частые вопросы
Docker бесплатный?
Можно ли выполнить эти команды на Windows или macOS?
Почему для запуска нужна команда sudo?
Контейнер hello-world должен оставаться запущенным?
Что делать, если у меня другая версия Ubuntu?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.