Docker — это платформа для разработки, доставки и запуска приложений в изолированных контейнерах. Контейнеры позволяют упаковать приложение со всеми зависимостями в единый пакет, который может работать на любой системе с установленным Docker.
Преимущества Docker:
- Изоляция — приложения не конфликтуют друг с другом
- Портативность — работает везде, где есть Docker
- Быстрота — запуск за секунды вместо минут
- Масштабируемость — легко клонировать и масштабировать
- Версионирование — контроль версий образов
Минимальные требования к серверу:
- 64-разрядную архитектуру и не менее
- 2 ГБ оперативной памяти
Настройка окружения
Чтобы начать установку Docker, убедитесь, что ваша система обновлена и установлены все необходимые пакеты. Выполните следующие действия.:
- Откройте свой терминал и подключитесь к серверу (VPS) с помощью SSH. Я использую SSH клиент MobaXterm.

Вводим логин root и пароль сервера.

Можно использовать putty для удобства.
- Обновите список пакетов, чтобы убедиться, что ваш сервер использует новейшие версии пакетов и их зависимостей:
sudo apt update
sudo apt upgrade
- Установите необходимые пакеты, чтобы разрешить apt использовать репозитории через HTTPS:
# Устанавливаем необходимые зависимости
sudo apt install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release \
software-properties-common \
wget \
unzip

Удаление старых версий Docker
Если на системе уже установлены старые версии Docker, их необходимо удалить:
# Останавливаем Docker сервис
sudo systemctl stop docker
# Удаляем старые пакеты Docker
sudo apt remove -y docker docker-engine docker.io containerd runc
# Удаляем конфигурационные файлы
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker
Установка Docker Engine
Добавление GPG ключа
# Скачиваем и добавляем официальный GPG ключ Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Добавление репозитория
# Добавляем официальный репозиторий Docker
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
Установка Docker
# Обновляем список пакетов
sudo apt update
# Устанавливаем Docker Engine
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Способ 2: Установка через snap (альтернативный)
# Установка Docker через snap
sudo snap install docker
# Добавление пользователя в группу docker
sudo usermod -aG docker $USER
Способ 3: Установка через скрипт (для быстрого старта)
# Скачиваем официальный скрипт установки
curl -fsSL https://get.docker.com -o get-docker.sh
# Запускаем скрипт
sudo sh get-docker.sh
# Добавляем пользователя в группу docker
sudo usermod -aG docker $USER
Установка Docker Compose
Установка Docker Compose v2 (встроенный в Docker)
Современные версии Docker включают Docker Compose v2 по умолчанию:
# Проверяем версию Docker Compose
docker compose version

Установка Docker Compose v1 (если нужна)
Если требуется Docker Compose v1:
# Скачиваем Docker Compose
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-compose --version
Настройка и оптимизацияЗапуск и автозапуск Docker
# Запускаем Docker сервис
sudo systemctl start docker
# Включаем автозапуск при загрузке системы
sudo systemctl enable docker
# Проверяем статус
sudo systemctl status docker
Добавление пользователя в группу docker
# Добавляем текущего пользователя в группу docker
sudo usermod -aG docker $USER
# Применяем изменения (перезаходим в систему или выполняем)
newgrp docker
Настройка Docker daemon
Создаем конфигурационный файл для оптимизации Docker:
# Создаем директорию для конфигурации
sudo mkdir -p /etc/docker
# Создаем конфигурационный файл
sudo tee /etc/docker/daemon.json <
Настройка firewall (если используется UFW)
# Разрешаем Docker трафик
sudo ufw allow 2375/tcp
sudo ufw allow 2376/tcp
sudo ufw allow 2377/tcp
sudo ufw allow 7946/tcp
sudo ufw allow 7946/udp
sudo ufw allow 4789/udp
# Перезагружаем firewall
sudo ufw reload
Проверка установки
Проверка версии Docker
# Проверяем версию Docker
docker --version
# Проверяем версию Docker Compose
docker compose version
# Проверяем информацию о системе Docker
docker info
Тестовый запуск контейнера
# Запускаем тестовый контейнер Hello World
docker run hello-world
# Запускаем Nginx для проверки
docker run -d -p 8080:80 --name test-nginx nginx:alpine
# Проверяем запущенные контейнеры
docker ps
# Останавливаем и удаляем тестовый контейнер
docker stop test-nginx
docker rm test-nginx
Проверка прав доступа
# Проверяем, что пользователь может запускать Docker без sudo
docker ps
# Если ошибка с правами, перезаходим в систему
# или выполняем: newgrp docker
🎉 Поздравляем! Если все команды выполнились без ошибок, Docker успешно установлен и настроен на вашей системе Ubuntu 22.04 LTS.
Решение проблем
Проблема 1: Ошибка «Permission denied»
# Решение: добавляем пользователя в группу docker
sudo usermod -aG docker $USER
# Перезаходим в систему или выполняем
newgrp docker
Проблема 2: Docker не запускается
# Проверяем статус сервиса
sudo systemctl status docker
# Просматриваем логи
sudo journalctl -u docker.service
# Перезапускаем сервис
sudo systemctl restart docker
Проблема 3: Ошибка с репозиторием
# Очищаем кеш apt
sudo apt clean
sudo apt autoclean
# Обновляем список пакетов
sudo apt update
# Переустанавливаем Docker
sudo apt install --reinstall docker-ce docker-ce-cli containerd.io
Проблема 4: Конфликт портов
# Проверяем занятые порты
sudo netstat -tulpn | grep :80
# Останавливаем конфликтующие сервисы
sudo systemctl stop apache2
sudo systemctl stop nginx
Часто задаваемые вопросы
Вопрос 1: Какой способ установки лучше?
Ответ: Рекомендуется установка из официального репозитория Docker, так как это обеспечивает:
- Последние стабильные версии
- Автоматические обновления через apt
- Лучшую совместимость с системой
Вопрос 2: Нужно ли перезагружать систему после установки?
Ответ: Нет, перезагрузка не обязательна. Достаточно:
- Перезапустить Docker сервис:
sudo systemctl restart docker
- Перезайти в систему или выполнить:
newgrp docker
Вопрос 3: Как обновить Docker до новой версии?
Ответ: Для обновления Docker:
sudo apt update
sudo apt upgrade docker-ce docker-ce-cli containerd.io
sudo systemctl restart docker
Вопрос 4: Можно ли использовать Docker без sudo?
Ответ: Да, после добавления пользователя в группу docker:
sudo usermod -aG docker $USER
newgrp docker
Вопрос 5: Как удалить Docker полностью?
Ответ: Для полного удаления Docker:
sudo apt purge docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
Дальнейшие шаги
После успешной установки Docker вы можете:
- Изучить основы Docker:
# Создание образа docker build -t myapp . # Запуск контейнера docker run -d -p 3000:3000 myapp # Управление контейнерами docker ps, docker stop, docker rm
- Изучить Docker Compose:
# Создание docker-compose.yml # Запуск стека docker compose up -d
- Настроить мониторинг:
# Установка Portainer для веб-интерфейса docker run -d -p 9000:9000 --name portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ portainer/portainer-ce:latest
Полезные ресурсы
- Официальная документация Docker
- Docker Hub — репозиторий образов
- Docker Compose документация
- Docker Best Practices
Заключение
Установка Docker в Ubuntu 22.04 LTS — это простой процесс, который открывает множество возможностей для разработки и развертывания приложений. Следуя этому руководству, вы получите полностью функциональную среду Docker, готовую к использованию.
Основные преимущества установленного Docker:
- Быстрое развертывание приложений
- Изоляция окружений
- Простота масштабирования
- Совместимость с любыми системами
Если у вас возникли вопросы или проблемы при установке, обращайтесь к разделу «Решение проблем» или оставляйте комментарии ниже.