Найти в Дзене

Установка Docker engine на Linux сервер под управлением Debian

Приветствую! Сегодня выполним установку и запуск такого замечательного и популярного ПО как Docker engine. Устанавливать будем в уже знакомый нам дистрибутив Debian 12. С использованием Docker, в будущем, будет множество статей по развертыванию различных Linux сервисов. Данная заметка важна концептуально, поэтому… прошу под кат ;) Присоединяйтесь к нашему каналу: t.me/r4ven_me и чату: t.me/r4ven_me_chat в Telegram. В прошлых статьях мы прошли такие материалы: Введение Docker – это самая популярная реализации технологии контейнерной виртуализации, о которой мы говорили в одной из прошлых заметок. Дабы понять, что такое docker, для чего он нужен и из чего состоит – рекомендую к прочтению отличный цикл статей на Habr. Данный цикл читается совсем не сложно, поэтому не поленитесь, изучите) Статьи с Habr.com: Ну а если вы уже знакомы с данным софтом, то приступим к установке Docker engine на Linux сервер под управлением Debian 12. Установка и запуск Docker engine Установка подразумевает,
Оглавление
Установка Docker engine на Linux сервер под управлением Debian
Установка Docker engine на Linux сервер под управлением Debian

Приветствую!

Сегодня выполним установку и запуск такого замечательного и популярного ПО как Docker engine. Устанавливать будем в уже знакомый нам дистрибутив Debian 12.

С использованием Docker, в будущем, будет множество статей по развертыванию различных Linux сервисов. Данная заметка важна концептуально, поэтому… прошу под кат ;)

Присоединяйтесь к нашему каналу: t.me/r4ven_me и чату: t.me/r4ven_me_chat в Telegram.

В прошлых статьях мы прошли такие материалы:

Содержание
Содержание

Введение

Docker – это самая популярная реализации технологии контейнерной виртуализации, о которой мы говорили в одной из прошлых заметок.

Дабы понять, что такое docker, для чего он нужен и из чего состоит – рекомендую к прочтению отличный цикл статей на Habr. Данный цикл читается совсем не сложно, поэтому не поленитесь, изучите)

Статьи с Habr.com:

Ну а если вы уже знакомы с данным софтом, то приступим к установке Docker engine на Linux сервер под управлением Debian 12.

Установка и запуск Docker engine

Установка подразумевает, что у вашего сервера есть доступ в интернет, а у вашего пользователя root права через sudo.

Обновление системы и установка зависимостей

Обновляем кэш и версии установленных в системе пакетов:

sudo apt update && sudo apt upgrade -y

-3

После обновления системы, мой сервер имеет такое описание:

hostnamectl

-4

Устанавливаем зависимости:

sudo apt install -y curl git apt-transport-https ca-certificates gnupg-agent software-properties-common

-5
Коротко об устанавливаемых пакетах:
curl – утилита для передачи данных по различным протоколам через URL в командной строке;
git – система управления версиями;
apt-transport-https – пакет для передачи данных по HTTPS в Advanced Package Tool (APT) в Linux;
ca-certificates – данные по центрам сертификации, которые распространяются с браузером Mozilla, позволяющие приложениям проверять достоверность соединений SSL;
gnupg-agent – GnuPG — инструмент GNU для защищённого обмена и хранения данных;
software-properties-common – общие утилиты для управления источниками программного обеспечения в Linux.

Установка Docker engine

При установке docker я обычно иду путем наименьшего сопротивления: запускаю скрипт автоматической установки от разработчика с официального сайта проекта docker. Чтобы посмотреть, что делает данный скрипт просто перейдите по URL: https://get.docker.com/ в браузере или выполните в терминале:

curl https://get.docker.com/ | less

Запускаем установку такой командой:

sudo curl https://get.docker.com/ | bash

-6
Данная команда с помощью curl получает текст скрипта и передает его интерпретатору bash с помощью пайплайна |. Подробнее о механизме перенаправления потоков в Linux читайте в отдельной статье: Командная строка Linux, перенаправление ввода и вывода: операторы “>”, “<“, “|”.

Установка docker займёт некоторое время.

После успешного завершения работы скрипта, будет выведено такое сообщение с информацией о текущей версии Docker engine:

Информации об установленном docker
Информации об установленном docker

Проверим статус запущенного демона docker:

systemctl status docker

-8

Установка docker-compose

Теперь установим утилиту docker-compose, которая позволяет описывать конфигурацию контейнеров (и их взаимодействия) в файлах-шаблонах формата .yaml.

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

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

-9
Первая команда скачивает исполняемый файл docker-compose последней версии и нужной архитектуры из официального репозитория docker на GitHub;
Вторая команда устанавливает флаг исполнения для скачанного файла;
Третья команда создаёт символьную ссылку в каталоге /usr/bin ведущую в /usr/local/bin для лучше совместимости.

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

Теперь добавим нашего текущего пользователя в группу docker, чтобы можно было управлять контейнерами без использования sudo. Данный шаг не обязателен, делается для удобства:

sudo gpasswd -a $USER docker

-10

Проверяем наличие нужной группы:

groups

-11

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

Проверка работоспособности docker

Чаще всего работоспособность сервиса docker проверяется путем загрузки маленького образа hello-world и запуска контейнера на его основе. Делается такой командой:

docker run hello-world

-12

Docker оперирует такими понятиями, как образ (image) и контейнер (container). Образ docker представляет собой сборку на основе определенной ОС, по сути шаблон. А контейнер – это экземпляр этого шаблона, запущенный в виде сервиса Linux. Довольно примитивное описание, но и статья имеет другую цель.

Профилактическая перезагрузка сервера

Т.к. во время установки Docker engine в систему вносятся значительные изменения, в т.ч. создаются цепочки правил сетевого экрана netfilter (iptables), хорошей практикой является профилактический перезапуск всего сервера:

sudo reboot

-13

Несколько команд управления docker

Ниже приведу несколько команд для просмотра и удаления образов и контейнеров.

  • Вывести список установленных образов:
docker image ls -a

-14
  • Вывести список существующих контейнеров:
docker container ls -a

-15
  • Удалить все неиспользуемые образы и контейнеры:
docker system prune -af

-16

За подробностями по командам docker, пожалуйста, обратитесь к справочному руководству:

man docker

или к материалам, которые я указал в начале или конце статьи.

Заключение

Мы с вами выполнили установку и запуск сервиса docker. В дальнейшем мы будем часто использовать данный инструмент для реализации различных интересных Linux проектов. Не пропустите.

Если у вас остались вопросы, то приглашаю в наш чат в телеге: @r4ven_me_chat. Чтобы не пропустить появление новых постов – подписывайтесь на наш канал там же: @r4ven_me.

Спасибо, что читаете. Успехов вам!

Материалы по теме

Мои ссылки: