Как установить Docker на Raspberry Pi 5: Полное пошаговое руководство
Raspberry Pi 5 - это невероятно мощный мини-компьютер, который идеально подходит для создания домашнего сервера, медиацентра или системы умного дома. Но чтобы выжать из него максимум и не захламлять систему десятками зависимостей, лучше всего использовать контейнеризацию.
Специально для читателей riopass.ru мы подготовили простую и быструю инструкцию по установке Docker на Raspberry Pi 5.
Подготовка системы
Перед установкой любого серьезного программного обеспечения правило номер один - обновить систему. Это поможет избежать конфликтов версий и гарантирует, что вы используете самые свежие пакеты безопасности.
Откройте терминал на вашей Raspberry Pi (или подключитесь к ней по SSH) и введите следующую команду:
sudo apt update && sudo apt upgrade -yДождитесь завершения процесса. Если обновлений было много, не лишним будет перезагрузить устройство командой sudo reboot
Установка Docker
Самый простой и официально рекомендуемый способ установки Docker на Raspberry Pi OS (которая базируется на Debian) - использование автоматического скрипта установки.
1. Загрузка установочного скрипта
Скачайте официальный скрипт с сайта Docker с помощью утилиты curl:
curl -fsSL https://get.docker.com -o get-docker.sh2. Запуск скрипта
Теперь запустите скачанный скрипт с правами суперпользователя:
sudo sh get-docker.shПроцесс установки займет пару минут. Скрипт самостоятельно определит архитектуру вашего процессора (ARM64 для Raspberry Pi 5) и скачает нужные версии пакетов.

Настройка прав доступа (чтобы работать без sudo)
По умолчанию для выполнения команд Docker требуются права root. Постоянно писать sudo docker - это неудобно и не совсем безопасно. Чтобы этого избежать, нужно добавить вашего текущего пользователя (обычно это пользователь pi или тот, которого вы создали при установке системы) в группу docker
Выполните команду:
sudo usermod -aG docker $USERЧтобы изменения вступили в силу без перезагрузки всей системы, примените новую группу:
newgrp docker(Примечание: если после этого команды Docker все равно требуют sudo, просто перезагрузите Raspberry Pi командой sudo reboot).
Проверка установки
Давайте убедимся, что всё прошло успешно. Введите в терминал команду для проверки версии:
docker --versionВы должны увидеть актуальную версию Docker, например: Docker version 29.4.0, build 9d7ad9f.
А теперь - традиционный тест! Запустим тестовый контейнер hello-world:
docker run hello-worldЕсли установка прошла успешно, Docker скачает минималистичный образ и выведет на экран приветственное сообщение: "Hello from Docker!".
Настройка автозапуска
Чтобы контейнеры автоматически поднимались после сбоя питания или перезагрузки Raspberry Pi, нужно добавить службу Docker в автозагрузку:
sudo systemctl enable docker.service
sudo systemctl enable containerd.serviceОставайтесь с riopass.ru, впереди еще много полезных шпаргалок по настройке вашего домашнего сервера!
FAQ: Часто задаваемые вопросы
В: Почему Docker лучше обычной установки программ через apt install?
О: Docker изолирует приложения. Вы можете запустить пять разных версий Python на одной Raspberry Pi 5, и они не будут конфликтовать. Кроме того, удаление программы в Docker - это просто удаление контейнера, после которого в основной системе не остается никакого "мусора".
В: Сильно ли Docker нагружает Raspberry Pi 5?
О: Raspberry Pi 5 обладает мощным процессором и быстрой оперативной памятью, поэтому накладные расходы на работу Docker практически незаметны (обычно это 1-2% ресурсов). Это гораздо эффективнее, чем использование виртуальных машин.
В: Что делать, если Docker не скачивает образы (ошибки "Timeout" или "Connection refused")?
О: В некоторых регионах доступ к официальному Docker Hub может быть ограничен или работать нестабильно. В таких случаях можно использовать зеркала (прокси-репозитории).
Одним из надежных вариантов является прокси от Timeweb. Чтобы им воспользоваться, нужно отредактировать (или создать) файл конфигурации:
sudo nano /etc/docker/daemon.jsonДобавьте туда следующий адрес:
{
"registry-mirrors": ["https://dockerhub.timeweb.cloud/"]
}После этого перезапустите службу: sudo systemctl restart docker. Теперь образы будут скачиваться через это зеркало.
В: Нужно ли использовать 64-битную ОС для Docker на Raspberry Pi 5?
О: Да, крайне желательно. Raspberry Pi 5 - это 64-битное устройство, и Docker работает эффективнее именно на 64-битных версиях Raspberry Pi OS или Ubuntu. Это также дает доступ к большему количеству современных образов.
В: Как обновить Docker до последней версии?
О: Поскольку мы устанавливали его через официальный репозиторий, Docker будет обновляться автоматически при выполнении стандартной команды обновления системы: sudo apt update && sudo apt upgrade.
Глоссарий
- Docker (Докер) - специальная платформа, которая позволяет упаковать любую программу со всеми ее настройками и файлами в единый стандартизированный блок. Благодаря этому программа будет одинаково хорошо работать на любом устройстве, будь то ваш ноутбук или Raspberry Pi.
- Docker Hub - крупнейшее в мире публичное хранилище (реестр) образов Docker. Это своего рода "магазин приложений", откуда скачиваются официальные образы Python, Nginx, PostgreSQL и тысяч других программ.
- Контейнеризация - сама технология изоляции приложений друг от друга и от основной операционной системы. Контейнеры потребляют гораздо меньше ресурсов, чем традиционные виртуальные машины.
- Образ (Image) - это готовый неизменяемый шаблон или "чертеж" программы. Скачивая образ (например, hello-world), вы получаете инструкцию для системы, как именно запускать приложение.
- Контейнер (Container) - это "оживший" образ. Запущенная и работающая в изолированной среде программа. Из одного образа можно запустить несколько одинаковых контейнеров.
- Репозиторий (Repository) - коллекция образов Docker с одинаковым именем, но разными тегами (версиями). Например, в репозитории python могут быть теги
3.10, 3.12-slimи так далее. - Терминал (Командная строка) - текстовый интерфейс для общения с операционной системой. Вместо того чтобы кликать мышкой по иконкам, вы вводите текстовые команды.
- SSH (Secure Shell) - защищенный протокол, который позволяет вам подключиться к терминалу вашей Raspberry Pi удаленно, например, с основного компьютера или ноутбука.
- Root / Sudo - Root это главный администратор (суперпользователь) в системах Linux, которому разрешено делать с системой абсолютно всё. Команда sudo (Superuser DO) позволяет обычному пользователю временно выполнить конкретную команду с правами этого самого главного администратора.
- Скрипт - текстовый файл, содержащий последовательность команд, которые компьютер должен выполнить автоматически (например, скрипт установки Docker скачивает, распаковывает и настраивает все нужные файлы за вас).