Как да инсталирате Docker на Raspberry Pi 4

How Install Docker Raspberry Pi 4



В сравнение с Raspberry Pi 3, Raspberry Pi 4 има много RAM (има 2GB, 4GB и 8GB модели). Следователно Raspberry Pi 4 може да служи като евтино Docker решение за разработка на приложения и други задачи. В тази статия ще ви покажем как да инсталирате Docker на Raspberry Pi 4. Използваме 8GB версия на Raspberry Pi 4, но можете да използвате и 2GB версия или 4GB версия.

Docker е система за контейнеризация за Linux, която се използва за стартиране на леки Linux контейнери на върха на операционна система Linux (хост на Docker). За да инсталирате Docker на вашия Raspberry Pi 4, ще ви трябва следното:







  1. Едноплатен компютър Raspberry Pi 4
  2. Захранване Raspberry Pi 4 Type-C.
  3. MicroSD карта (поне 32 GB) с изображение на Raspberry Pi OS.
  4. Интернет връзка на Raspberry Pi 4.
  5. Лаптоп или десктоп за достъп до отдалечен работен плот на 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 OS на Raspberry Pi 4 . За да научите как да мигате изображението на Raspberry Pi OS върху microSD картата. отидете тук: Как да инсталирате и използвате Raspberry Pi Imager. За да научите повече за безглавната настройка на Raspberry Pi 4, отидете тук: Как да инсталирате и конфигурирате Raspberry Pi OS на Raspberry Pi 4 без външен монитор.



Актуализиране на Raspberry Pi OS

Преди да инсталирате Docker, трябва да актуализирате всички пакети на вашата Raspberry Pi OS. За да направите това, първо актуализирайте кеша на хранилището на пакета APT със следната команда:





$sudoподходяща актуализация


Тази команда трябва да актуализира кеша на хранилището на APT пакета.


За да актуализирате всички пакети на вашата Raspberry Pi OS, изпълнете следната команда:



$sudoподходящ ъпгрейд


За да потвърдите надстройката, натиснете И и тогава .


Мениджърът на пакети APT трябва да изтегли всички необходими пакети от интернет. Тази стъпка може да отнеме известно време, за да бъде завършена.


След като всички необходими пакети бъдат изтеглени, мениджърът на пакети APT трябва да ги инсталира един по един. Тази стъпка може също да отнеме известно време, за да бъде завършена.


На този етап всички съществуващи пакети трябва да бъдат актуализирани.


За да влязат в сила промените, рестартирайте вашия Raspberry Pi 4 със следната команда:

$sudoрестартирайте

Инсталиране на Docker на Raspberry Pi OS

Инсталирането на Docker на Raspberry Pi 4, работещ с Raspberry Pi OS, е много лесно, тъй като Docker вече официално поддържа Raspberry Pi OS.

За да инсталирате Docker на вашата Raspberry Pi OS, трябва да изтеглите инсталационния скрипт на Docker на вашия Raspberry Pi 4. Можете да изтеглите инсталационния скрипт на Docker на вашия Raspberry Pi 4 със следната команда:

$къдрица-fsSLhttps://get.docker.com-илиget-docker.sh


Скриптът за инсталиране на Docker get-docker.sh трябва да бъдат изтеглени в текущата ви работна директория.


Стартирайте инсталационния скрипт на Docker get-docker.sh като root със следната команда:

$sudo башget-docker.sh


Инсталационният скрипт на Docker ще изтегли и инсталира всички необходими пакети от интернет. Тази стъпка може да отнеме известно време, за да бъде завършена.


На този етап трябва да се инсталира Docker.


След като Docker е инсталиран, добавете потребителя за вход в докер група със следната команда:

$sudousermod-аГдокер $(кой съм аз)


За да влязат в сила промените, рестартирайте вашия Raspberry Pi 4 със следната команда:

$sudoрестартирайте


След като вашият Raspberry Pi 4 се стартира, изпълнете следната команда, за да проверите дали docker е инсталиран:

$докер версия


Както можете да видите, аз работя с Docker версия 19.03.13, която е най -новата версия на Docker, налична за Raspberry Pi OS по време на писането. Докато прочетете тази статия, номерът на версията може да се промени.

Инсталиране на Docker Compose на Raspberry Pi OS

Docker Compose е инструмент за автоматизиране на Docker проекти с помощта на YAML файл.

Да предположим, че искате да направите PHP уеб разработка с помощта на Docker. За това се нуждаете от множество контейнери, като уеб сървър (т.е. php ) контейнер и сървър на база данни (т.е. mysql или монго ) контейнер. Ако използвате RAW Docker, трябва да стартирате, спрете и конфигурирате тези контейнери отделно, което ще бъде обезпокоително и отнема много време. За разлика от това, ако използвате Docker Compose, можете да управлявате и конфигурирате всички контейнери, като използвате прост YAML файл и Docker Compose команди.

Можете да инсталирате Docker Compose с помощта на инсталатора на пакети на Python. Python pip трябва да е предварително инсталиран на вашия Raspberry Pi, но ако pip не е инсталиран, можете да го инсталирате от официалното хранилище на пакети на Raspberry Pi OS със следната команда:

$sudoподходящИнсталирайpython3-pip


В нашия случай Python pip вече е инсталиран.


След като Python pip е инсталиран, можете да инсталирате Docker Compose със следната команда:

$sudopip3Инсталирайdocker-compose


На изображението по -долу се инсталира Docker Compose.


На следващото изображение трябва да се инсталира Docker Compose.


След като Docker Compose е инсталиран, проверете дали имате достъп до него със следната команда:

$версия на docker-compose


Както можете да видите, ние използваме Docker Compose версия 1.27.4. Докато прочетете тази статия, може да имате инсталирана по -нова версия на Docker Compose на вашата Raspberry Pi OS.

Използване на Docker на Raspberry Pi 4

В този раздел ще ви покажем как да използвате Docker на вашия Raspberry Pi 4. Ако никога не сте използвали Docker, този раздел трябва да ви помогне да започнете.

За да стартирате контейнер на Docker, имате нужда от изображение на Docker, на което ще се основава контейнерът на Docker. В регистъра на контейнерите на Docker (Docker Hub) има хиляди контейнери на Docker. Можете да търсите контейнери на Docker (например контейнер за уеб сървър на Apache), както следва:

$docker търсене apache


Контейнерите на Docker, които съответстват на заявката за търсене, ще бъдат върнати.

Официалният контейнер за уеб сървър на Apache се нарича httpd , както е показано на екрана по -долу. Нека създадем контейнер на Docker въз основа на това изображение.


За да създадете и стартирате контейнера Docker на уеб сървъра на Apache с помощта на httpd Изображение на Docker, изпълнете следната команда:

$докер бягане -стр 8080:80httpd

Забележка: Тук, -стр 8080: 80 се използва за препращане на порт 80 от httpd Докер контейнер към порт 8080 на хоста на Docker (Raspberry Pi 4).


The httpd Изображението на Docker трябва да бъде изтеглено от интернет (Docker Hub). Тази стъпка може да отнеме известно време, за да бъде завършена.


В този момент Docker httpd изображението на контейнера трябваше да бъде изтеглено и трябва да е създаден нов контейнер на Docker.


Ако отворите уеб браузър в Raspberry Pi 4 и посетите http: // localhost: 8080, трябва да видите следната уеб страница, която ви казва, че контейнерът на уеб сървъра на Apache работи правилно.


Можете да изброите всички работещи Docker контейнери със следната команда:

$докер контейнерls

В момента имаме само един работещ контейнер на Docker, т.е.контейнер на уеб сървъра на Apache. Контейнерът има името awesome_grothendieck (генерирани на случаен принцип) и идентификационния номер c5d09470a9eb .


Създадените от вас Docker контейнери получават произволно генерирано име, но можете да дадете име на Docker контейнер с - име аргумент от командния ред. Например, за да създадете друг httpd Docker контейнер с името уеб сървър2 , можете да изпълните следната команда:

$докер бягане -стр 8081:80 -имеуеб сървър2 httpd


Чрез въвеждане на горната команда, Docker контейнер с име уеб сървър2 трябва да се създаде.


Както можете да видите, новосъздаденият контейнер на Docker е кръстен уеб сървър2 .

$докер контейнерls


Уеб сървърът, работещ на втория контейнер уеб сървър2 също трябва да бъде достъпен на URL адрес http: // localhost: 8081.


Можете да спрете работещ контейнер на Docker, като използвате името или идентификатора на работещия контейнер. Например, за да спрете работещия контейнер на Docker уеб сървър2 , изпълнете следната команда:

$docker контейнер спиране webserver2


Контейнерът Docker уеб сървър2 трябва да се спре.

$докер контейнерls


Както можете да видите, уеб сървърът, който работи на уеб сървър2 контейнерът също е спрял.


Можете да спрете контейнера c5d09470a9eb със следната команда:

$docker контейнер стоп c5d09470a9eb


Както е показано на изображението по -долу, контейнерът Docker c5d09470a9eb вече не работи.


Изображението по -долу показва, че уеб сървърът, който работи на c5d09470a9eb контейнерът също е спрян.

Използване на Docker Compose на Raspberry Pi 4

В този раздел ще ви покажем как да използвате Docker Compose за управление на Docker проекти.

Първо, създайте нова директория на проекта ~/уеб сървър както следва:

$mkdir -v~/уеб сървър


Придвижете се до ~/уеб сървър директория, както следва:

$CD~/уеб сървър


Създайте нов файл docker-compose.yaml както следва:

$наноdocker-compose.yaml


Въведете следния текст във файла docker-compose.yaml.

версия:'3.8'
услуги:
Уеб:
изображение: httpd: най -ново
рестартиране: винаги
обеми:
-./www:/usr/местен/apache2/htdocs
пристанища:
-'8083: 80'

Забележка: Уверете се, че използвате правилното вдлъбнатина. Отстъпът е много важен за YAML файловете. Неправилното отстъпване ще доведе до синтаксични грешки.

След като приключите, натиснете + X последвано от Y и за да запазите docker-compose.yaml файл.


Тук, в услуги раздел, имаме определение за Уеб Докер контейнер.


В ред 4, Docker образ че Уеб трябва да се дефинира контейнера, който ще се използва. Тук, образ да се използва е httpd: най -новото


В ред 5, рестартиране: винаги се използва за рестартиране на уеб контейнера, ако спре неочаквано.


Линии 6-7 се използват за монтиране на www/ директорията на директорията на вашия проект в /usr/local/apache2/htdocs , т.е. коренът на контейнера.


Редове 8-9 се използват за препращане на порт 80 от контейнера към порта 8083 на хоста на Docker (Raspberry Pi 4).


Създайте нова директория www/ в директорията на проекта, както следва:

$mkdir -vwww


Създайте нов файл index.html в www/ директория, както следва:

$наноwww/index.html


Въведете следната команда и натиснете + X следван от И и за да запишете файла.


Можете да стартирате проекта Docker Compose със следната команда:

$docker-compose up


Проектът Docker Compose трябва да работи и да работи.


Както можете да видите, контейнер на уеб сървър работи.

$docker-composeпс


Ако посетите URL адреса http: // localhost: 8083 от уеб браузър, трябва да видите следната страница, което означава, че проектът Docker Compose работи.


За да спрете проекта на Docker Compose (т.е. да спрете всички контейнери на проекта), изпълнете следната команда:

$docker-compose down


Проектът Docker Compose трябваше да спре.


Както можете да видите, няма работещи контейнери.

$docker-composeпс


Освен това не може да се осъществи достъп до уеб сървъра.

Заключение

В тази статия инсталирахме Docker и Docker Compose на Raspberry Pi 4. Освен това използваме Docker и Docker Compose за създаване на Docker контейнери. Тази статия би трябвало да ви помогне да започнете с Docker и Docker Compose на Raspberry Pi 4.