Установка Docker engine на Linux сервер под управлением Debian
Обновлено 16.09.2024
Приветствую!
Сегодня выполним установку и запуск такого замечательного и популярного ПО как Docker engine. Устанавливать будем в уже знакомый нам дистрибутив Debian 12.
С использованием Docker, в будущем, будет множество статей по развертыванию различных Linux сервисов. Данная заметка важна концептуально, поэтому… прошу под кат 😉
Присоединяйтесь к нашему каналу: t.me/r4ven_me и чату: t.me/r4ven_me_chat в Telegram .
В прошлых статьях мы прошли такие материалы:
- Установка VirtualBox в Linux Mint 21
- Установка сервера Debian 12 в VirtualBox
- Начальная настройка Linux сервера на примере Debian
# обновление системы
sudo apt update && sudo apt upgrade -y
# установка зависимостей
sudo apt install -y curl git apt-transport-https ca-certificates gnupg-agent software-properties-common
# установка docker engine
sudo curl https://get.docker.com/ | bash
# проверка сервиса docker
systemctl status docker
# добавление пользователя в группу docker
sudo gpasswd -a $USER docker
# обновление списка групп
newgrp docker
# проверка наличие нужной группы
groups
# проверка работоспособности
docker run hello-world
# профилактическая перезагрузка сервера
sudo reboot
Введение
Docker – это самая популярная реализации технологии контейнерной виртуализации, о которой мы говорили в одной из прошлых заметок.
Дабы понять, что такое docker, для чего он нужен и из чего состоит – рекомендую к прочтению отличный цикл статей на Habr. Данный цикл читается совсем не сложно, поэтому не поленитесь, изучите)
Статьи с Habr.com:
- Изучаем Docker. Часть 1: основы
- Изучаем Docker. Часть 2: термины и концепции
- Изучаем Docker. Часть 3: файлы Dockerfile
- Изучаем Docker. Часть 4: уменьшение размеров образов и ускорение их сборки
- Изучаем Docker. Часть 5: команды
- Изучаем Docker. Часть 6: работа с данными
Ну а если вы уже знакомы с данным софтом, то приступим к установке 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
Теперь добавим нашего текущего пользователя в группу docker, чтобы можно было управлять контейнерами без использования sudo
. Данный шаг не обязателен, делается для удобства:
sudo gpasswd -a $USER docker
Обновляем список групп и проверяем наличие нужной:
newgrp 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.
Спасибо, что читаете. Успехов вам!