Raspberry Pi

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

Как да инсталирате Docker на Raspberry Pi 4
В сравнение с Raspberry Pi 3, Raspberry Pi 4 има много RAM (има модели от 2 GB, 4 GB и 8 GB). Следователно 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) с изображение на OS Raspberry Pi.
  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 актуализация


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


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

$ sudo apt ъпгрейд


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


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


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


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


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

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

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

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

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

$ curl -fsSL https: // get.докер.com -o get-docker.ш


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


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

$ sudo bash get-docker.ш


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


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


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

$ sudo usermod -aG docker $ (whoami)


За да влязат в сила промените, рестартирайте 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 apt инсталира python3-pip -y


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


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

$ sudo pip3 инсталиране на 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 (Docker Hub). Можете да търсите контейнери на Docker (напр.ж., Контейнер за уеб сървър на Apache), както следва:

$ docker търсене apache


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

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


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

$ docker run -d -p 8080: 80 httpd

Забележка: Тук, -р 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 със следната команда:

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

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


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

$ docker run -d -p 8081: 80 --name webserver2 httpd


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


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

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


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


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

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


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

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


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


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

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


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


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

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

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

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

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


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

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


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

$ nano docker-compose.ямъл


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

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

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

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


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


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


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


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


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


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

$ mkdir -v www


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

$ nano www / индекс.html


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


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

$ docker-compose up -d


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


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

$ docker-compose ps


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


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

$ docker-compose down


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


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

$ docker-compose ps


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

Заключение

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

SuperTuxKart за Linux
SuperTuxKart е страхотно заглавие, създадено да ви предостави безплатно изживяването на Mario Kart във вашата Linux система. Играта е доста предизвика...
Урок за битка за Уеснот
Битката за Уеснот е една от най-популярните стратегически игри с отворен код, които можете да играете по това време. Тази игра не само се разработва о...
0 А.д. Урок
От многото стратегически игри, 0 A.д. успява да се открои като изчерпателно заглавие и много дълбока, тактическа игра, въпреки че е с отворен код. Раз...