Docker - одна из самых популярных программ для контейнеризации. В терминологии Docker, контейнеры – это стандартная единица программного обеспечения, которая упаковывает код и все его зависимости, для того чтобы приложение можно было быстро и надежно запустить на разных операционных системах и в разных вычислительных средах.
С технической точки зрения контейнер - это запущенный процесс (наподобие процессов в операционных системах) который изолирован от других процессов и имеет доступ к ресурсам компьютера. В данной статье будет рассмотрена установка Docker в Debian 11, а также запуск первого приложения.
Содержание статьи
Установка Docker в Debian 11
Установить Docker в Debian 11 можно двумя способами - при помощи стандартных репозиториев Debian или при помощи официального репозитория Docker. В репозиториях Debian содержится не самая свежая версия, поэтому будет рассмотрен способ установки из официального репозитория Docker.
Шаг 1. Добавление репозитория Docker
Перед добавлением репозитория Docker необходимо обновить список пакетов выполнив команду:
sudo apt update
А также установить дополнительные пакеты, которые необходимы для работы с удалёнными репозиториями. Для установки данных пакетов необходимо выполнить команду:
sudo apt -y install ca-certificates curl gnupg lsb-release
Следующий шаг - скачивание и добавление PGP ключа от репозитория Docker. Для этого необходимо выполнить команду:
curl -fsSL https://download.docker.com/linux/debian/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/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Шаг 2. Установка пакетов Docker
Для установки Docker сначала необходимо обновить списки пакетов чтобы в системе появился новый репозиторий. Для этого достаточно выполнить команду:
sudo apt update
После этого можно установить Docker и дополнительные пакеты. Установка производится при помощи команды:
sudo apt -y install docker-ce docker-ce-cli containerd.io
Слово ce в названии пакета docker-ce расшифровывается как community что означает что будет установлена бесплатная версия (она же версия от сообщества). Теперь вы знаете как установить docker debian.
Шаг 3. Запуск и автозагрузка Docker
После установки, по умолчанию Docker будет выключен. Чтобы запустить программу необходимо выполнить команду:
sudo systemctl start docker
Чтобы Docker запускался вместе с операционной системой его необходимо добавить в автозагрузку при помощи команды:
sudo systemctl enable docker
Шаг 4. Добавление пользователя в группу Docker
По умолчанию использовать 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 от обычного пользователя и без использования команды sudo необходимо добавить пользователя в группу docker. Группа docker создается автоматически при установке Docker. Однако если по какой-то причине она не создалась автоматически её необходимо создать вручную выполнив команду:
sudo groupadd docker
Далее для добавления текущего пользователя в группу docker необходимо выполнить следующую команду:
sudo usermod -aG docker $USER
Переменная $USER означает что в группу docker будет добавлен текущий пользователь, от имени которого запущена сессия. Данная переменная присутствует во всех современных дистрибутивах Linux. Также стоит отметить, что группа docker предоставляет привилегии, эквивалентные привилегиям пользователя root.
После добавления пользователя необходимо перелогиниться в системе и только потом можно запустить любую команду Docker для проверки. В качестве примера была выполнена команда docker ps которая отображает список запущенных контейнеров:
docker ps
Как видно на скриншоте выше команда выполнилась без ошибок и от лица обычного пользователя.
Шаг 5. Запуск контейнера с hello-world
Для полноценной проверки Docker можно загрузить тестовый образ с hello-world для проверки. Для этого необходимо выполнить команду:
docker run hello-world
Команда docker run загрузит образ программы из онлайн-репозитория docker hub - официального реестра хранения образов программного обеспечения от Docker который используется по умолчанию и автоматически запустит его. В данном примере была выведена фраза Hello from Docker! которая означает что образ успешно был скачен и запущен.
Выводы
В данной статье была рассмотрена установка Docker в Debian 11, а также на примере был скачан и запущен тестовый образ hello world для проверки работоспособности программы. Процедура установки не отличается сложностью. Если у вас остались вопросы задавайте их в комментариях.
Три года назад статейка очень бы зашла
и где docker-compose ?
Docker-compose уже встроенный в Docker. Только нужно писать не docker-compose, а docker compose
Спасибо большое, каждая команда работает без ошибок