Docker - это система контейнеризации для Linux, которая используется для запуска облегченных контейнеров Linux поверх операционной системы Linux (хост Docker). Чтобы установить Docker на Raspberry Pi 4, вам понадобится следующее:
- Одноплатный компьютер Raspberry Pi 4
- Блок питания Raspberry Pi 4 Type-C.
- Карта microSD (не менее 32 ГБ) с изображением ОС Raspberry Pi.
- Подключение к Интернету на Raspberry Pi 4.
- Ноутбук или настольный компьютер для доступа к удаленному рабочему столу VNC или доступа SSH к Raspberry Pi 4.
Примечание: Если вы не хотите получать доступ к Raspberry Pi 4 удаленно через SSH или VNC, вам необходимо подключить к Raspberry Pi монитор, клавиатуру и мышь. Мы не будем подключать какие-либо периферийные устройства к нашему Raspberry Pi здесь, поскольку мы подключаемся к нашему Raspberry Pi 4 удаленно через протокол удаленного рабочего стола VNC с настройкой Raspberry Pi 4 без головы.
Дополнительные ресурсы: Чтобы узнать, как установить Raspberry Pi OS на Raspberry Pi 4, перейдите сюда: Как установить ОС Raspberry Pi на Raspberry Pi 4 . Чтобы узнать, как записать образ ОС Raspberry Pi на карту microSD. перейдите сюда: Как установить и использовать Raspberry Pi Imager. Чтобы узнать больше о настройке Raspberry Pi 4 без монитора, перейдите сюда: Как установить и настроить ОС Raspberry Pi на Raspberry Pi 4 без внешнего монитора.
Обновление ОС Raspberry Pi
Перед установкой Docker вы должны обновить все пакеты в вашей ОС Raspberry Pi. Для этого сначала обновите кеш репозитория пакетов APT с помощью следующей команды:
$судоподходящее обновление
Эта команда должна обновить кеш репозитория пакетов APT.
Чтобы обновить все пакеты в вашей ОС Raspberry Pi, выполните следующую команду:
$судоподходящее обновление
Для подтверждения обновления нажмите А ТАКЖЕ а потом .
Менеджер пакетов APT должен загрузить все необходимые пакеты из Интернета. Выполнение этого шага может занять некоторое время.
После загрузки всех необходимых пакетов диспетчер пакетов APT должен установить их один за другим. Этот шаг также может занять некоторое время.
На этом этапе все существующие пакеты должны быть обновлены.
Чтобы изменения вступили в силу, перезагрузите Raspberry Pi 4 с помощью следующей команды:
Установка Docker на ОС Raspberry Pi
Установить Docker на Raspberry Pi 4 под управлением ОС Raspberry Pi очень просто, поскольку теперь Docker официально поддерживает ОС Raspberry Pi.
Чтобы установить Docker на свою ОС Raspberry Pi, вы должны загрузить сценарий установки Docker на свой Raspberry Pi 4. Вы можете загрузить сценарий установки Docker на свой Raspberry Pi 4 с помощью следующей команды:
$завиток-fsSLhttps://get.docker.com-илиget-docker.sh
Скрипт установки Docker get-docker.sh должны быть загружены в ваш текущий рабочий каталог.
Запустите сценарий установки Docker get-docker.sh как root с помощью следующей команды:
Сценарий установки Docker загрузит и установит все необходимые пакеты из Интернета. Выполнение этого шага может занять некоторое время.
На этом этапе должен быть установлен Docker.
После установки Docker добавьте пользователя для входа в докер group с помощью следующей команды:
Чтобы изменения вступили в силу, перезагрузите Raspberry Pi 4 с помощью следующей команды:
После загрузки Raspberry Pi 4 выполните следующую команду, чтобы проверить, установлен ли докер:
Как видите, я использую Docker версии 19.03.13, которая является последней версией Docker, доступной для ОС Raspberry Pi на момент написания. К тому времени, как вы прочитаете эту статью, номер версии может измениться.
Установка Docker Compose в ОС Raspberry Pi
Docker Compose это инструмент для автоматизации проектов Docker с использованием файла YAML.
Допустим, вы хотите заниматься веб-разработкой на PHP с помощью Docker. Для этого вам понадобится несколько контейнеров, например веб-сервер (т.е. php ) контейнер и сервер базы данных (т.е. MySQL или монго ) контейнер. Если вы используете RAW Docker, вам нужно запускать, останавливать и настраивать эти контейнеры отдельно, что будет хлопотно и отнимет много времени. Напротив, если вы используете Docker Compose, вы можете управлять и настраивать все контейнеры с помощью простого файла YAML и команд Docker Compose.
Вы можете установить Docker Compose с помощью установщика пакетов Python pip. Python pip должен быть предварительно установлен на вашем Raspberry Pi, но если pip не установлен, вы можете установить его из официального репозитория пакетов Raspberry Pi OS с помощью следующей команды:
$судоподходящийустановитьpython3-pip-а также
В нашем случае Python pip уже был установлен.
После установки Python pip вы можете установить Docker Compose с помощью следующей команды:
На изображении ниже устанавливается Docker Compose.
На следующем изображении должен быть установлен Docker Compose.
После установки Docker Compose проверьте, можете ли вы получить к нему доступ с помощью следующей команды:
Как видите, мы используем Docker Compose версии 1.27.4. К тому времени, когда вы прочтете эту статью, на вашей ОС Raspberry Pi может быть установлена более поздняя версия Docker Compose.
Использование Docker на Raspberry Pi 4
В этом разделе мы покажем вам, как использовать Docker на вашем Raspberry Pi 4. Если вы никогда не использовали Docker, этот раздел должен помочь вам начать работу.
Для запуска контейнера Docker вам потребуется образ Docker, на котором будет основан контейнер Docker. В реестре контейнеров Docker (Docker Hub) доступны тысячи контейнеров Docker. Вы можете искать контейнеры Docker (например, контейнер веб-сервера Apache) следующим образом:
$docker search apache
Будут возвращены контейнеры Docker, соответствующие поисковому запросу.
Официальный контейнер веб-сервера Apache называется httpd , как показано на скриншоте ниже. Давайте создадим контейнер Docker на основе этого образа.
Чтобы создать и запустить контейнер Docker веб-сервера Apache с помощью httpd Образ Docker, выполните следующую команду:
Примечание: Здесь, -p 8080: 80 используется для переадресации порта 80 принадлежащий httpd Контейнер Docker для порта 8080 на хосте Docker (Raspberry Pi 4).
В httpd Образ Docker необходимо загрузить из Интернета (Docker Hub). Выполнение этого шага может занять некоторое время.
На этом этапе Docker httpd Образ контейнера должен быть загружен и должен быть создан новый контейнер Docker.
Если вы откроете веб-браузер на своем Raspberry Pi 4 и посетите http: // localhost: 8080, вы должны увидеть следующую веб-страницу, которая сообщает вам, что контейнер веб-сервера Apache работает правильно.
Вы можете перечислить все запущенные контейнеры Docker с помощью следующей команды:
В настоящее время у нас есть только один запущенный контейнер Docker, то есть контейнер веб-сервера Apache. У контейнера есть название awesome_grothendieck (генерируется случайным образом), а идентификатор c5d09470a9eb .
Создаваемые вами контейнеры Docker получают случайно сгенерированные имена, но вы можете назвать контейнер Docker с помощью -имя аргумент командной строки. Например, чтобы создать еще один httpd Контейнер Docker с названием webserver2 , вы можете запустить следующую команду:
Введя указанную выше команду, контейнер Docker с именем webserver2 должен быть создан.
Как видите, вновь созданный контейнер Docker называется webserver2 .
Веб-сервер, работающий во втором контейнере webserver2 также должен быть доступен по URL-адресу http: // localhost: 8081.
Вы можете остановить работающий контейнер Docker, используя имя или идентификатор работающего контейнера. Например, чтобы остановить работающий контейнер Docker webserver2 , выполните следующую команду:
Контейнер Docker webserver2 следует прекратить.
Как видите, веб-сервер, работавший на webserver2 контейнер тоже остановился.
Вы можете остановить контейнер c5d09470a9eb с помощью следующей команды:
Как показано на изображении ниже, контейнер Docker c5d09470a9eb больше не работает.
На изображении ниже показано, что веб-сервер, работавший на c5d09470a9eb контейнер также был остановлен.
Использование Docker Compose на Raspberry Pi 4
В этом разделе мы покажем вам, как использовать Docker Compose для управления проектами Docker.
Сначала создайте новый каталог проекта ~ / веб-сервер следующее:
$mkdir -v~/веб сервер
Перейдите к ~ / веб-сервер каталог следующим образом:
Создать новый файл docker-compose.yaml следующее:
Введите следующий текст в файл docker-compose.yaml.
Сервисы:
Интернет:
изображение: httpd: latest
перезапуск: всегда
объемы:
-./www:/usr/местный/apache2/htdocs
порты:
-'8083: 80'
Примечание: Убедитесь, что используется правильный отступ. Отступы очень важны для файлов YAML. Неправильный отступ приведет к синтаксическим ошибкам.
Когда вы закончите, нажмите + X за которым следуют Y и чтобы спасти docker-compose.yaml файл.
Здесь, в Сервисы раздел, у нас есть определение для Интернет Контейнер Docker.
В строке 4 Docker изображение что Интернет контейнер, который будет использоваться, должен быть определен. Здесь изображение использовать это httpd: последний
В строке 5 перезапуск: всегда используется для перезапуска веб-контейнера, если он неожиданно останавливается.
Линии 6-7 используются для монтажа www / каталог вашего проекта в / usr / местные / apache2 / htdocs , то есть веб-корневой каталог контейнера.
Строки 8-9 используются для переадресации порта. 80 контейнера в порт 8083 хоста Docker (Raspberry Pi 4).
Создать новый каталог www / в каталоге проекта следующим образом:
Создать новый файл index.html в www / каталог следующим образом:
Введите следующую команду и нажмите + X с последующим А ТАКЖЕ а также чтобы сохранить файл.
Вы можете запустить проект Docker Compose с помощью следующей команды:
Проект Docker Compose должен быть запущен.
Как видите, контейнер веб-сервера запущен.
Если вы перейдете по URL-адресу http: // localhost: 8083 из веб-браузера, вы должны увидеть следующую страницу, что означает, что проект Docker Compose работает.
Чтобы остановить проект Docker Compose (т.е. остановить все контейнеры проекта), выполните следующую команду:
Проект Docker Compose должен был быть остановлен.
Как видите, ни один контейнер не запущен.
Кроме того, нет доступа к веб-серверу.
Заключение
В этой статье мы установили Docker и Docker Compose на Raspberry Pi 4. Кроме того, мы используем Docker и Docker Compose для создания контейнеров Docker. Эта статья должна помочь вам начать работу с Docker и Docker Compose на Raspberry Pi 4.