Привет! Если вы работаете с Linux, особенно на дистрибутивах Ubuntu или Debian, и хотите упростить процесс разработки и развертывания приложений, то Docker — это то, что вам нужно. В этой статье мы подробно рассмотрим, как установить Docker Engine на вашу систему.Статья - Установка Docker на Linux (Ubuntu/Debian)

Что такое Docker?

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

Почему Docker?

  • Изоляция: Приложения в контейнерах не конфликтуют друг с другом.
  • Портативность: Контейнеры можно легко перемещать между разными системами.
  • Воспроизводимость: Ваше приложение всегда будет работать одинаково, где бы вы его ни запускали.
  • Эффективность: Контейнеры легкие и запускаются быстрее, чем виртуальные машины.

Подготовка к установке

Прежде чем начать, убедитесь, что ваша система соответствует минимальным требованиям и обновлена.

Шаг 1: Обновление системы

Всегда начинайте с обновления списка пакетов и их апгрейда, чтобы убедиться, что у вас самые свежие версии репозиториев и библиотек. Откройте терминал и выполните следующие команды:

sudo apt update
sudo apt upgrade -y

Шаг 2: Удаление старых версий Docker (если есть)

Если у вас ранее были установлены старые версии Docker (например, docker.io, docker-engine или docker-ce), рекомендуется удалить их, чтобы избежать конфликтов.

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt remove $pkg; done

Установка Docker Engine

Мы будем устанавливать Docker Engine из официального репозитория Docker, что гарантирует получение актуальных и стабильных версий.

Шаг 3: Установка необходимых пакетов

Установите пакеты, которые позволят apt использовать репозитории по HTTPS:

sudo apt install ca-certificates curl gnupg lsb-release -y

Шаг 4: Добавление официального GPG ключа Docker

Docker использует GPG ключи для проверки подлинности пакетов. Добавьте официальный ключ Docker:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Примечание: Если вы используете Debian, замените ubuntu в команде curl на debian.

Шаг 5: Добавление репозитория Docker

Теперь добавьте репозиторий Docker в список источников apt:

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Примечание: Опять же, если у вас Debian, $(. /etc/os-release && echo "$VERSION_CODENAME") автоматически определит кодовое имя вашего дистрибутива (например, bookworm, bullseye).

Шаг 6: Установка Docker Engine

После добавления репозитория обновите список пакетов и установите Docker Engine, CLI и Containerd:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Проверка установки Docker

Чтобы убедиться, что Docker установлен и работает корректно, запустите тестовый образ hello-world:

sudo docker run hello-world

Если установка прошла успешно, вы увидите сообщение о том, что Docker работает правильно.

Управление Docker без sudo (необязательно, но рекомендуется)

По умолчанию для запуска команд Docker требуется использовать sudo. Это может быть неудобно. Чтобы запускать Docker команды без sudo, добавьте вашего пользователя в группу docker.

Шаг 7: Добавление пользователя в группу docker

sudo usermod -aG docker $USER

После выполнения этой команды вам нужно либо перезагрузить систему, либо выйти из текущей сессии и войти снова, чтобы изменения вступили в силу.

Шаг 8: Проверка без sudo

После перезахода в систему, попробуйте снова запустить hello-world без sudo:

docker run hello-world

Если команда выполнится успешно, значит, вы можете использовать Docker без привилегий суперпользователя.

Заключение

Поздравляем! Теперь у вас установлен и настроен Docker на вашей системе Ubuntu или Debian. Вы готовы начать создавать и запускать контейнеризированные приложения. Docker значительно упрощает процесс разработки, тестирования и развертывания, делая вашу работу более эффективной.

Если у вас возникнут вопросы или проблемы в процессе установки, не стесняйтесь задавать их!