Введение
Docker Community Edition (CE) — это бесплатная версия Docker, которая позволяет упаковывать приложения и их зависимости в переносимые контейнеры. Установка Docker CE на Linux открывает возможности для быстрой разработки, тестирования и развертывания программного обеспечения в изолированной среде. Этот гайд поможет вам настроить Docker на популярных дистрибутивах Linux, таких как Ubuntu, Debian, CentOS и Fedora, используя официальный репозиторий Docker.
После выполнения инструкции вы сможете запускать Docker-контейнеры, управлять образами и сетями, а также использовать инструменты вроде Docker Compose. Процесс занимает около 10–15 минут и требует базовых знаний работы с терминалом.
Требования
Перед началом установки убедитесь, что ваша система соответствует следующим требованиям:
- 64-битная Linux-система: Docker CE поддерживает x86_64, ARM и другие архитектуры, но в этом гайде фокус на x86_64.
- Доступ к терминалу с правами суперпользователя (sudo) или root.
- Подключение к интернету для загрузки пакетов и репозитория Docker.
- Поддерживаемый дистрибутив: Ubuntu 20.04+, Debian 10+, CentOS 7+, Fedora 30+. Актуальный список поддерживаемых версий смотрите в официальной документации Docker.
💡 Совет: Если вы используете менее распространённый дистрибутив, проверьте, есть ли в нём пакет Docker в официальных репозиториях, но для последних версий рекомендуется официальный репозиторий Docker.
Шаг 1: Обновление системы и установка зависимостей
Перед добавлением репозитория Docker обновите список пакетов и установите необходимые утилиты. Команды отличаются для дистрибутивов на базе Debian/Ubuntu (apt) и CentOS/Fedora (yum/dnf).
Для Ubuntu и Debian
Выполните следующие команды в терминале:
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
apt updateобновляет кэш пакетов.apt-transport-httpsпозволяет использовать HTTPS-репозитории.ca-certificatesобеспечивает проверку SSL-сертификатов.curlиспользуется для загрузки GPG-ключа.software-properties-commonдобавляет командуadd-apt-repository(необязательно, но полезно).
Для CentOS и Fedora
Для CentOS 7/8 и Fedora используйте yum или dnf:
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 curl
yum-utilsпредоставляет утилитуyum-config-manager.device-mapper-persistent-dataиlvm2требуются для хранилища Docker.curlдля загрузки ключа.
⚠️ Важно: На Fedora можно использовать
dnfвместоyum, но команды совместимы. Убедитесь, чтоyum-utilsустановлен.
Шаг 2: Добавление официального репозитория Docker
Docker предоставляет собственный репозиторий с актуальными версиями пакетов. Добавьте GPG-ключ Docker для проверки подлинности пакетов и настройте репозиторий.
Для Ubuntu и Debian
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- Первая команда загружает GPG-ключ Docker и сохраняет его в
/usr/share/keyrings/docker-archive-keyring.gpg. - Вторая команда добавляет репозиторий в
/etc/apt/sources.list.d/docker.list. Заменитеubuntuнаdebianдля Debian. $(lsb_release -cs)автоматически определяет кодовое имя вашего дистрибутива (например,jammyдля Ubuntu 22.04).
Для CentOS и Fedora
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- Эта команда добавляет репозиторий Docker для CentOS. Для Fedora репозиторий аналогичен, но иногда требуется использовать
https://download.docker.com/linux/fedora/docker-ce.repo. Если возникают ошибки, проверьте актуальный URL в документации Docker.
💡 Совет: Если команда
yum-config-managerнедоступна, установитеyum-utils(см. Шаг 1) или вручную создайте файл репозитория в/etc/yum.repos.d/docker-ce.repo.
Шаг 3: Установка Docker CE
После настройки репозитория установите пакеты Docker CE и дополнительные компоненты, такие как Docker Compose (в виде плагина) и BuildKit.
Для Ubuntu и Debian
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker-ce— основной движок Docker.docker-ce-cli— клиентская утилитаdocker.containerd.io— управление контейнерами.docker-buildx-plugin— расширение для сборки образов.docker-compose-plugin— плагин для Docker Compose (вместо отдельного бинарника).
Для CentOS и Fedora
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Пакеты имеют те же имена. Если вы используете dnf на Fedora, замените yum на dnf.
Шаг 4: Настройка службы Docker и прав пользователя
По умолчанию Docker требует прав суперпользователя. Для удобства настройте автозапуск службы и добавьте вашего пользователя в группу docker.
# Запустите службу Docker
sudo systemctl start docker
# Включите автозапуск при загрузке системы
sudo systemctl enable docker
# Добавьте текущего пользователя в группу docker
sudo usermod -aG docker $USER
⚠️ Важно: После добавления пользователя в группу
dockerнеобходимо выйти из системы и войти заново, чтобы изменения вступили в силу. В качестве альтернативы выполнитеnewgrp dockerв текущем терминале, но это сработает только для этого сеанса.
Шаг 5: Проверка установки
Чтобы убедиться, что Docker работает корректно, запустите тестовый контейнер hello-world:
docker run hello-world
Если установка прошла успешно, вы увидите приветственное сообщение, подтверждающее, что Docker может извлекать образы и запускать контейнеры. Пример вывода:
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
Возможные проблемы
При установке Docker CE на Linux могут возникнуть следующие типичные ошибки:
- Ошибка доступа (permission denied): Убедитесь, что пользователь добавлен в группу
docker(см. Шаг 4) и перезаlogged in. Проверьте членство в группе:groups $USER. - Служба Docker не запущена: Проверьте статус службы:
sudo systemctl status docker. Если она неактивна, запустите её:sudo systemctl start docker. - Ошибка добавления репозитория: Проверьте, что GPG-ключ корректно добавлен (
ls /usr/share/keyrings/docker-archive-keyring.gpg) и URL репозитория соответствует вашему дистрибутиву. Для Debian заменитеubuntuнаdebianв команде добавления репозитория. - Конфликты пакетов на Fedora: Fedora может иметь собственные версии пакетов Docker в репозиториях. Если возникают конфликты, отключите репозиторий Fedora для Docker или используйте официальный репозиторий Docker с указанием версии.
- Устаревшие зависимости: На старых дистрибутивах могут отсутствовать пакеты. Обновите систему или рассмотрите использование более новой версии дистрибутива.
Если проблема не решена, проверьте логи Docker: sudo journalctl -u docker.service и поищите решение в сообществе Docker или официальной документации.