Найти тему

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

Оглавление
Установка 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.

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

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

Мои ссылки: