Устанавливаем Docker в Debian 11

16.04.2022, 22:34

Docker - популярная программа для контейнеризации. Контейнеры – стандартная единица ПО, которая упаковывает код и все его зависимости, для того чтобы приложение можно было быстро и надежно запустить на разных операционных системах и в разных вычислительных средах.

С технической точки зрения контейнером называют запущенный процесс, который изолирован от других процессов и имеет доступ к ресурсам компьютера. Дальше рассмотрим установку Docker в Debian 11, а также запуск первого приложения.

Добавляем репозиторий

Установить можно двумя путями - при помощи стандартных репозиториев Debian или официального репозитория Docker. В репозиториях Debian содержится не самая свежая версия, поэтому рассмотрим способ установки из официального репозитория Docker.

Перед добавление репозитория необходимо обновить список пакетов выполнив команду:

$ sudo apt update

Устанавливаем Docker в Debian 11

Также установить дополнительные пакеты, которые необходимы для работы с удалёнными репозиториями. Для установки данных пакетов необходимо выполнить команду:

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

Устанавливаем Docker в Debian 11

Дальше скачиваем и добавляем PGP ключ от репозитория. Для этого необходимо выполнить команду:

$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Устанавливаем Docker в Debian 11

Для добавления репозитория необходимо выполнить команду:

$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Устанавливаем Docker в Debian 11

Устанавливаем пакет

Для установки сначала необходимо обновить списки пакетов чтобы в системе появился новый репозиторий. Для этого достаточно выполнить команду:

$ sudo apt update


Устанавливаем Docker в Debian 11В завершении можно установить и дополнительные пакеты. Установка производится при помощи команды:

$ sudo apt -y install docker-ce docker-ce-cli containerd.io

Устанавливаем Docker в Debian 11

Слово ce в названии пакета docker-ce расшифровывается как community что означает что будет установлена бесплатная версия (она же версия от сообщества). Теперь вы знаете как установить docker debian.

Запуск и автозагрузка

После установки, по умолчанию он будет выключен. Чтобы запустить программу необходимо выполнить команду:

$ sudo systemctl start docker

Устанавливаем Docker в Debian 11

Для того чтобы он запускался вместе с операционной системой его необходимо добавить в автозагрузку при помощи команды:

$ sudo systemctl enable docker

Устанавливаем Docker в Debian 11

Добавляем пользователя

По умолчанию использовать и выполнять его команды в терминале может только пользователь root. Если выполнить какую-либо команду от обычного пользователя, то в терминале отобразится следующая ошибка:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

Устанавливаем Docker в Debian 11

Для запуска команды от обычного пользователя и без использования команды sudo необходимо добавить пользователя в группу docker. Группа docker создается автоматически при установке. Однако если по какой-то причине она не создалась автоматически её необходимо создать вручную выполнив:

$ sudo groupadd docker

Далее для добавления текущего пользователя в группу docker необходимо выполнить:

$ sudo usermod -aG docker $USER

Устанавливаем Docker в Debian 11

Переменная $USER означает что в группу docker будет добавлен текущий пользователь, от имени которого запущена сессия. Данная переменная присутствует во всех современных дистрибутивах Linux. Также стоит отметить, что группа docker предоставляет привилегии, эквивалентные привилегиям пользователя root.

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

$ docker ps

Устанавливаем Docker в Debian 11

Как видно на скриншоте выше выполнилась без ошибок и от лица обычного пользователя.

Запускаем контейнер с HELLO-WORLD

Для полноценной проверки Docker можно загрузить тестовый образ с hello-world для проверки. Для этого необходимо выполнить:

$ docker run hello-world

Устанавливаем Docker в Debian 11

Команда docker run загрузит образ программы из онлайн-репозитория docker hub - официального реестра хранения образов программного обеспечения от Docker который используется по умолчанию и автоматически запустит его. В примере была выведена фраза Hello from Docker! которая означает что образ успешно был скачен и запущены.