Приветствую!
Сегодня выполним установку и запуск такого замечательного и популярного ПО как 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
После обновления системы, мой сервер имеет такое описание:
hostnamectl
Устанавливаем зависимости:
sudo apt install -y curl git apt-transport-https ca-certificates gnupg-agent software-properties-common
Коротко об устанавливаемых пакетах:
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
Данная команда с помощью curl получает текст скрипта и передает его интерпретатору bash с помощью пайплайна |. Подробнее о механизме перенаправления потоков в Linux читайте в отдельной статье: Командная строка Linux, перенаправление ввода и вывода: операторы “>”, “<“, “|”.
Установка docker займёт некоторое время.
После успешного завершения работы скрипта, будет выведено такое сообщение с информацией о текущей версии Docker engine:
Проверим статус запущенного демона docker:
systemctl status docker
Установка 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
Первая команда скачивает исполняемый файл docker-compose последней версии и нужной архитектуры из официального репозитория docker на GitHub;
Вторая команда устанавливает флаг исполнения для скачанного файла;
Третья команда создаёт символьную ссылку в каталоге /usr/bin ведущую в /usr/local/bin для лучше совместимости.
Добавление пользователя в группу docker
Теперь добавим нашего текущего пользователя в группу docker, чтобы можно было управлять контейнерами без использования sudo. Данный шаг не обязателен, делается для удобства:
sudo gpasswd -a $USER docker
Проверяем наличие нужной группы:
groups
Если команда добавления в группу выполнилась корректно, но группы нет в списке – попробуйте перезапустить сессию и проверить наличие группы еще раз.
Проверка работоспособности docker
Чаще всего работоспособность сервиса docker проверяется путем загрузки маленького образа hello-world и запуска контейнера на его основе. Делается такой командой:
docker run hello-world
Docker оперирует такими понятиями, как образ (image) и контейнер (container). Образ docker представляет собой сборку на основе определенной ОС, по сути шаблон. А контейнер – это экземпляр этого шаблона, запущенный в виде сервиса Linux. Довольно примитивное описание, но и статья имеет другую цель.
Профилактическая перезагрузка сервера
Т.к. во время установки Docker engine в систему вносятся значительные изменения, в т.ч. создаются цепочки правил сетевого экрана netfilter (iptables), хорошей практикой является профилактический перезапуск всего сервера:
sudo reboot
Несколько команд управления docker
Ниже приведу несколько команд для просмотра и удаления образов и контейнеров.
- Вывести список установленных образов:
docker image ls -a
- Вывести список существующих контейнеров:
docker container ls -a
- Удалить все неиспользуемые образы и контейнеры:
docker system prune -af
За подробностями по командам docker, пожалуйста, обратитесь к справочному руководству:
man docker
или к материалам, которые я указал в начале или конце статьи.
Заключение
Мы с вами выполнили установку и запуск сервиса docker. В дальнейшем мы будем часто использовать данный инструмент для реализации различных интересных Linux проектов. Не пропустите.
Если у вас остались вопросы, то приглашаю в наш чат в телеге: @r4ven_me_chat. Чтобы не пропустить появление новых постов – подписывайтесь на наш канал там же: @r4ven_me.
Спасибо, что читаете. Успехов вам!
Материалы по теме
Мои ссылки:
- Мой основной сайт - r4ven.me
- Мой телеграм - t.me/r4ven_me