Представь, что тебе нужно развернуть приложение, которое работает у всех в команде одинаково, независимо от версий библиотек или настроек системы. Именно эту проблему решает Docker — инструмент контейнеризации, который стал стандартом в современной разработке. Давай разберем, как правильно выполнить установку Docker на Ubuntu, чтобы избежать типичных ошибок и получить рабочую среду для твоих проектов.
Подготовка системы перед установкой Docker
Перед тем как начать установку Docker на Ubuntu, убедимся, что система готова. Открой терминал и выполни эти команды:
# Обновляем список пакетов
sudo apt update
# Обновляем установленные пакеты
sudo apt upgrade -y
# Устанавливаем необходимые зависимости
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
Добавление официального репозитория Docker
Хотя Docker есть в стандартных репозиториях Ubuntu, я рекомендую использовать официальный репозиторий от Docker. Это гарантирует получение актуальных версий и всех обновлений безопасности.
# Добавляем GPG-ключ Docker
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
# Обновляем список пакетов с учетом нового репозитория
sudo apt update
docker.io не установлен. Он может конфликтовать с официальной версией Docker.
Установка Docker Engine на Ubuntu
Теперь перейдем к основной части — установке Docker Engine. Выполни эти команды последовательно:
# Устанавливаем Docker Engine, CLI и Containerd
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Проверяем, что Docker установился корректно
sudo docker --version
После выполнения команды docker --version ты должен увидеть что-то вроде:
Docker version 24.0.7, build afdd53b
Настройка прав для работы с Docker без sudo
По умолчанию для работы с Docker требуются права суперпользователя. Это неудобно и небезопасно. Давай исправим это:
# Добавляем текущего пользователя в группу docker
sudo usermod -aG docker $USER
# Применяем изменения групп (или просто перезайди в систему)
newgrp docker
Проверка работоспособности Docker
Давай убедимся, что установка Docker на Ubuntu прошла успешно. Запустим тестовый контейнер:
# Запускаем тестовый контейнер Hello World
docker run hello-world
Если все настроено правильно, ты увидишь приветственное сообщение от Docker. Это означает, что:
- Docker Engine успешно установлен
- Docker CLI работает корректно
- Ты можешь скачивать образы из Docker Hub
- Ты можешь запускать контейнеры
Установка Docker Compose на Ubuntu
Docker Compose — это инструмент для управления многоконтейнерными приложениями. Начиная с Docker Engine 23.0+, Docker Compose V2 включен в состав Docker Desktop, но для Linux его нужно устанавливать отдельно:
# Проверяем, установлен ли Docker Compose Plugin (рекомендуемый способ)
docker compose version
# Если не установлен, устанавливаем отдельно
sudo apt install -y docker-compose-plugin
# Альтернативный способ — установка standalone версии
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Настройка Docker для автоматического запуска
Чтобы Docker запускался автоматически при загрузке системы, выполни:
# Включаем автозагрузку Docker
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
# Проверяем статус службы
sudo systemctl status docker
Оптимизация Docker после установки
После успешной установки Docker на Ubuntu, рекомендую выполнить несколько настроек для улучшения производительности:
# Создаем или редактируем конфигурационный файл daemon.json
sudo nano /etc/docker/daemon.json
Добавь в файл следующую конфигурацию:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2",
"dns": ["8.8.8.8", "8.8.4.4"]
}
# Перезапускаем Docker для применения изменений
sudo systemctl restart docker
Сравнение методов установки Docker
| Метод | Преимущества | Недостатки | Рекомендация |
|---|---|---|---|
| Официальный репозиторий | Актуальные версии, обновления безопасности | Требует добавления репозитория | ✅ Для production |
| Стандартный репозиторий Ubuntu | Не требует дополнительных действий | Устаревшие версии | ⚠️ Только для тестирования |
| Установка из .deb пакета | Контроль версии | Ручное обновление | ⚠️ Для специфичных случаев |
Частые проблемы и их решение
Проблема: "Got permission denied while trying to connect to the Docker daemon socket"
Решение:
# Перезагружаем систему или выполняем:
sudo systemctl restart docker
# И убеждаемся, что пользователь в группе docker:
groups $USER
Проблема: Ошибки при скачивании образов
Решение: Поменяй DNS в настройках Docker или проверь подключение к интернету:
# Проверяем доступ к Docker Hub
curl -I https://hub.docker.com
Что делать после установки Docker
Теперь, когда установка Docker на Ubuntu завершена, рекомендую:
- Изучить базовые команды Docker:
docker ps,docker images,docker logs - Создать свой первый Dockerfile
- Освоить Docker Compose для многоконтейнерных приложений
- Настроить volumes для сохранения данных
- Изучить Docker networking
Часто задаваемые вопросы (FAQ)
Как проверить версию Docker после установки?
Используй команду docker --version или docker version для подробной информации.
Нужно ли удалять старую версию Docker перед установкой?
Да, если у тебя установлен docker.io из стандартных репозиториев, удали его: sudo apt remove docker docker-engine docker.io containerd runc
Как обновить Docker до последней версии?
Выполни стандартное обновление: sudo apt update && sudo apt upgrade docker-ce docker-ce-cli containerd.io
Можно ли установить Docker на Ubuntu без sudo прав?
Нет, для установки требуются права суперпользователя, но для работы после установки можно настроить права через группу docker.
Заключение
Ты успешно выполнил установку Docker на Ubuntu. Теперь у тебя есть мощный инструмент для контейнеризации приложений. Помни:
- Всегда используй официальный репозиторий для production-сред
- Не забывай добавлять пользователей в группу docker
- Регулярно обновляй Docker для получения исправлений безопасности
- Освой Docker Compose — это сэкономит тебе много времени
Следующий шаг — создание твоего первого Dockerfile и запуск реального приложения в контейнере. Удачи в освоении Docker!