Блог PQ Hosting

16.04.2022, 22:34

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

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

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

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

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

$ sudo apt update

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

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

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

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

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

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

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

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

$ 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

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

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

$ sudo apt update


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

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

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

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

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

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

$ sudo systemctl start docker

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

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

$ sudo systemctl enable docker

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

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

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

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

Для запуска команды Docker от обычного пользователя и без использования команды sudo необходимо добавить пользователя в группу docker. Группа 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! которая означает что образ успешно был скачен и запущен.