Как установить Docker на Raspberry Pi 4/5: пошаговое руководство для новичков

В этом руководстве вы научитесь устанавливать Docker на Raspberry Pi 4 или Pi 5, настраивать права пользователя и запускать свой первый контейнер. Инструкция применима для Raspberry Pi OS и будет полезна новичкам.

Чтобы приступить к установке Docker подключитесь к Raspberry по SSH для запуска команд из терминала удаленного компьютера. Как альтернатива — используйте подключение VNC и пишите код в терминал самой Raspberry. Инструкцию по подключению к SSH и VNC можно найти на странице.

Шаги установки Docker на Raspberry Pi

До старта установки Docker следует убедиться, что версии компонентов на вашей ОС актуальны — это снизит риски ошибок при установке.

Terminal
Copy

Установка Docker через официальный скрипт

Разработчики упростили установку Docker до одной команды. Запустите официальный скрипт, который скачает и установит необходимое для работы.

Terminal
Copy

Запуск скриптов из интернета (curl | sh) потенциально опасен. Всегда проверяйте содержимое скрипта перед запуском. Вы также можете перейти к get.docker.com и взять скрипт для установки самостоятельно.

Настройка прав пользователя для работы с Docker

После запуска скрипту потребуется какое-то время на автоматическую установку всего необходимого для запуска Докера на Raspberry Pi.

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

Terminal
Copy

В этой команде $USER подставит имя вашего пользователя автоматически. Чтобы изменения вступили в силу, необходимо выйти из системы.

Terminal
Copy

Команда logout выведет вас из удаленного доступа по SSH. Просто подключитесь заново — права вступят в силу. Проверьте, что вы теперь состоите в группе docker, выполнив команду:

Terminal
Copy

Если добавление прошло успешно, в списке групп доступа вы увидите docker. Если по какой-то причине соответствующая группа не появилась — попробуйте в явном виде указать вашего пользователя вместо $USER:

Terminal
Copy

Проверка работы Docker: тестовый контейнер hello-world

Теперь проверим, что Docker установлен и работает на Raspberry Pi. Для теста выполните команду:

Terminal
Copy

Эта команда загрузит, установит и запустит проверочный контейнер «hello-world». В выводе терминала вы увидите следующее сообщение:

Terminal

Эта надпись служит подтверждением, что Docker функционирует корректно.

Запуск и управление контейнерами Docker

После  установки Docker — можно приступать к изучению базового синтаксиса. Чтобы получить список всех возможных команд, введем в терминале:

Terminal
Copy

Этот запрос отобразит краткий справочник (manual) со списком доступных команд Docker. Возвращайтесь к этому руководству, когда нужно вспомнить синтаксис или параметры конкретной операции.

Запуск контейнера docker/getting-started

Настало время запустить первый дэфолтный контейнер, который покажет, что Docker работает правильно:

Terminal
Copy

Разберём подробнее эту команду:

  • run — создаёт и запускает контейнер на основе указанного образа (по имени или ID). Если образ отсутствует локально, Docker автоматически загрузит его (аналог команды docker pull), после этого запустит.
  • -d — флаг нужен для запуска контейнера в фоновом режиме. Если не использовать флаг то контейнер запустится в присоединённом режиме. Вывод будет отображаться прямо в консоли, а терминал останется занятым до завершения работы или ручной остановки через сочетание Ctrl+C.
  • -p 80:80 — связывает порт 80 на вашей локальной машине с портом 80 внутри контейнера. Если 80-й порт занят другим процессом, можете использовать любой свободный, например, 8888:80
  • docker/getting-started — имя Docker-образа, на основе которого будет создан и запущен контейнер (run).

При открытии в браузере адреса localhost вы увидите стартовую инструкцию Docker. Её появление подтверждает, что установка и настройка прошли успешно. Если вы хотите связать другой порт на вашей локальной машине (например, 8888), то явно укажите его в адресной строке: localhost:8888

Загрузка Docker-образа getting-started из реестра
Загрузка образа (pull) если он отсутствует локально.
Стартовая страница Docker в браузере по адресу localhost: подтверждение успешной установки и настройки
Запуск страницы localhost с инструкцией Docker как подтверждение что установка прошла успешно.

Raspberry Pi использует процессоры с архитектурой ARM. По этой причине, корректно будут запускаться только образы с поддержкой этой архитектуры. Популярные образы обычно мульти-архитектурные и работают сразу. Если образ собран только под x86 — контейнер выдаст ошибку при старте.

Основные команды Docker: управление контейнерами и образами

Ниже описаны ключевые команды, с которых стоит начать знакомство. Они помогут вам управлять образами, контейнерами и получать справочную информацию в терминале.

  • Получение справки по команде. Любую команду Docker можно дополнить флагом --help, чтобы увидеть подробное описание и доступные опции.
Terminal
Copy

  • Информация о системе и Docker. Команда покажет подробные сведения о версии, настройках демона, используемом хранилище и запущенных контейнерах.
Terminal
Copy

  • Просмотр локальных образов. Команда выведет перечень всех образов, сохранённых на вашей машине.
Terminal
Copy

  • Удаление образа. Если есть необходимость освободить место, укажите идентификатор или имя ненужного образа для удаления. Вместо <ID_образа> укажите идентификатор загруженного образа.
Terminal
Copy

Управление состоянием Docker: start, stop, restart, rm

  • Список всех контейнеров. Команда отобразит контейнеры в любом состоянии. Без флага -a будут выводиться только работающие на данный момент.
Terminal
Copy

  • Удаление контейнера. Чтобы удалить контейнер, укажите его идентификатор или имя. Перед удалением предварительно остановите контейнер. Для удаления уже запущенного добавьте флаг -f (принудительное завершение и очистка)
Terminal
Copy

  • Удаление нескольких контейнеров. Чтобы удалить несколько контейнеров за раз просто перечислите их ID или имена через пробел:
Terminal
Copy

  • Удалить ВСЕ остановленные контейнеры. Если мусора накопилось много, можно одной командой удалить все контейнеры, что не активны прямо сейчас:
Terminal
Copy

Вы также можете управлять жизненным циклом контейнеров. Все команды ниже работают одинаково, вместо my_container подставьте свой ID или имя. Узнать их можно командой docker ps -a. Скопируйте значение из колонки NAMES или CONTAINER ID.

Terminal

Итоги: базовые команды Docker и переход к работе с образами

В рамках этой статьи была рассмотрена установка Docker на Raspberry Pi OS и базовые команды управления контейнерами: создание, запуск, остановка и мониторинг состояния. Для проверки работоспособности достаточно запустить тестовый образ и обратиться к ‘localhost’ — успешный ответ веб-интерфейса подтверждает корректную работу Docker-демона.

Полный справочник доступен через команды ‘docker’ или ‘docker —help’ в терминале.

В следующей инструкции мы разберем структуру Docker-образов, поиск совместимых сборок на Docker Hub и синтаксис Dockerfile для создания собственных образов.

FAQ. Вопросы и ответы

Нет. Docker требует архитектуру ARMv7 (32-бит) или ARM64 (64-бит). Raspberry Pi Zero и Pi 1 используют ARMv6, которая официально не поддерживается Docker. Рекомендуется использовать Pi 2, Pi 3, Pi 4 или Pi 5.

По умолчанию только пользователи из группы docker могут запускать контейнеры без sudo. Чтобы исправить это, выполните:

sudo usermod -aG docker $USER, затем выйдите из системы и зайдите снова.

Запустите в терминале команду:
docker run hello-world
Если вы увидите сообщение «Hello from Docker!», значит, всё работает корректно.

Да. Обновление пакетов (sudo apt update && sudo apt full-upgrade) снижает риск конфликтов зависимостей и ошибок при установке или запуске контейнеров.

Выполните следующие команды:
sudo apt purge docker-ce docker-ce-cli containerd.io -y
sudo rm -rf /var/lib/docker /etc/docker
Это полностью удалит Docker и все его данные.

Убедитесь, что установлен curl: sudo apt install curl -y. Также проверьте интернет-соединение. В редких случаях поможет ручная загрузка скрипта с get.docker.com и его запуск локально.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *