Перейти к содержимому
Главная страница » Как установить Docker в Ubuntu

Как установить Docker в Ubuntu

Готовый сервер с установленным Docker и IP всего за 99 рублей

Docker — это платформа для разработки, доставки и запуска приложений в изолированных контейнерах. Контейнеры позволяют упаковать приложение со всеми зависимостями в единый пакет, который может работать на любой системе с установленным Docker.

Интересный факт: Docker был создан в 2013 году компанией dotCloud и стал стандартом де-факто в мире контейнеризации. Сегодня более 80% компаний используют Docker в своих проектах.

Преимущества Docker:

  • Изоляция — приложения не конфликтуют друг с другом
  • Портативность — работает везде, где есть Docker
  • Быстрота — запуск за секунды вместо минут
  • Масштабируемость — легко клонировать и масштабировать
  • Версионирование — контроль версий образов
Описываемый вариант установки подходит для версий Ubuntu с долгосрочной поддержкой (LTS) Ubuntu 20.04, 22.04 и 24.04, в описании я буду использовать версию Ubuntu 24.04.

Содержание

Минимальные требования к серверу:

  • 64-разрядную архитектуру и не менее 
  • 2 ГБ оперативной памяти

Настройка окружения

Чтобы начать установку Docker, убедитесь, что ваша система обновлена и установлены все необходимые пакеты. Выполните следующие действия.:

  1. Откройте свой терминал и подключитесь к серверу (VPS) с помощью SSH. Я использую SSH клиент MobaXterm.

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

Можно использовать putty для удобства.

  1. Обновите список пакетов, чтобы убедиться, что ваш сервер использует новейшие версии пакетов и их зависимостей:
sudo apt update
sudo apt upgrade
  1. Установите необходимые пакеты, чтобы разрешить 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 приведет к потере всех образов и контейнеров. Убедитесь, что у вас есть резервные копии важных данных.

Установка 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
Установка Docker

Способ 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 вы можете:

  1. Изучить основы Docker:# Создание образа docker build -t myapp . # Запуск контейнера docker run -d -p 3000:3000 myapp # Управление контейнерами docker ps, docker stop, docker rm
  2. Изучить Docker Compose:# Создание docker-compose.yml # Запуск стека docker compose up -d
  3. Настроить мониторинг:# Установка 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 в Ubuntu 22.04 LTS — это простой процесс, который открывает множество возможностей для разработки и развертывания приложений. Следуя этому руководству, вы получите полностью функциональную среду Docker, готовую к использованию.

Основные преимущества установленного Docker:

  • Быстрое развертывание приложений
  • Изоляция окружений
  • Простота масштабирования
  • Совместимость с любыми системами

Если у вас возникли вопросы или проблемы при установке, обращайтесь к разделу «Решение проблем» или оставляйте комментарии ниже.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *