fbpx
Trwają zapisy do Szkolenia Automation Maestro ». Obszerne szkolenie DevSecOps. Oferta obowiązuje tylko do 23 lipca do 21:00.
Kubernetes Maestro → sprawdź najnowsze szkolenie »»

Popularna malinka – czyli Raspberry Pi w połączeniu z Dockerem.

Uznałem, że grzechem byłoby o tym nie napisać.

To będzie krótki post. Nie chcę opisywać pełnych możliwości malinki, bo to zwyczajnie mija się z celem. Chcę tylko pokazać pewien fragment możliwości – połączenie z Dockerem.

Instalacja Dockera na Rasbperry Pi

Korzystamy standardowo z skryptu get-docker.sh

curl -sSL https://get.docker.com | sh

Dodanie użytkownika Pi do grupy docker

Jeśli chcemy, by Docker działał bezpośrednio z poziomu domyślnego użytkownika Pi, dodajemy go do grupy docker.

sudo usermod -aG docker pi

Bez tego za każdym razem musielibyśmy używać sudo. Przykład:

sudo docker run <image>

Restart Rasppery Pi

Najprościej zrestartować naszą malinkę, aby zmiany w grupie docker się „zpropagowały”.


Test – czy Docker działa na naszym Raspberry Pi

Czas na testy. Przykładowe polecenie, którym sprawdzisz, czy Docker dział poprawnie na na malince

docker version


Instalacja docker-compose na Raspberry Pi

Żeby uprościć sobie uruchamianie (wielu) kontenerów, aż prosi się, by zainstalować docker-compose. By to było możliwe, musimy najpierw zainstalować kilka zależności.

Instalacja wymaganych zależności
sudo apt-get install -y libffi-dev libssl-dev

sudo apt-get install -y python3 python3-pip

sudo apt-get remove python-configparser

Instalacja docker-compose na Raspberry

Finalnie, możemy skrozystać z pip i zainstalować docker-compose.

sudo pip3 -v install docker-compose

Test – czy docker-compose działa na Raspberry Pi
docker-compose version

docker-compose version 1.27.4, build 40524192
docker-py version: 4.3.1
CPython version: 3.7.4
OpenSSL version: OpenSSL 1.1.1c  28 May 2019


Możliwości – server Minecrafta na Raspberry Pi w Dockerze

„Damian – po co mi to?”

Odpowiadam – dla pokazania możliwości, a być może „zabawy”. Warto wiedzieć, co można osiągnąć – mając malinkę i zainstalowanego Dockera. W podobny sposób możesz postawić sobie np. API stworzone w ulubionym języku programowania, czy cokolwiek innego, co potrzebujesz.

Na Docker Hubie znajdziemy gotowy obraz dla servera Minecrafta. Wystarczy go zatem użyć : -)

Przykładowy docker-compose.yml

version: '3.7'
services:
 minecraft:
   image: itzg/minecraft-server:multiarch
   ports:
     - "25565:25565"
   environment:
     EULA: "TRUE"
   deploy:
     resources:
       limits:
         memory: 1.5G

To wszystko. Wystarczy teraz docker-compose up (opcjonalnie z argumentem -d) i GOTOWE.

Server powinien działać na porcie 25565.


Inne przykłady zastosowania Dockera i Raspberry Pi

Oczywiście przykładów zastosowania Docker i Raspberry jest MASA. Poniżej zebrałem najbardziej – moim zdaniem – ciekawe przykłady, które mogą Cię zainteresować.

  • PiHole – zabezpiecz swoją prywatną sieć przed reklamami na poziomie sieciowym (zamiast instalowania Adblocka). A tutaj znajdziesz sposób na instalację z wykorzystaniem Dockera
  • n8n – darmowa automatyzacja życia. Narzędzie jest alternatywą dla popularnego Zapiera, czy IFFT. Oba te narzędzia dostępne są w chmurze i niestety są płatne. Z kolei – n8n można postawić samemu, np. na malince i korzystać „za darmo”.
  • Plex – centrum multimedialne w domowych warunkach. A tutaj instrukcja – jak to zainstalować z poziomu Dockera.
  • RetroPie – domowa machina umożliwiająca zabawę z ulubionymi grami Retro (np. Pacman, Duck Hunt czy Tony Hawk). Trudno znaleźć sprawdzony sposób na uruchomienie RetroPie z poziomu Dockera. Znalazłem jednak coś takiego (nie gwarantuję, że działa)
  • WebApi w dowolnym języku programowania – z uwagi na moją naleciałość do do świata .NET, podrzuciłem taki, a nie inny przykład. Możliwości są zdecydowanie większe 🙂 Wystarczy znaleźć obraz bazowy wspierający architekturę ARM – dla języka/technologii, którą znasz najlepiej.
  • OMV – czyli mini-serwer NAS – jeżeli nie chcesz kupować drogiego sprzętu i mieć swojego NAS’a – warto rozważyć tę opcję. Niestety ciężko znaleźć sprawdzony przykład jak postawić OMV z pomocą Dockera. Zostawiam bez linka, bo nawet bez Dockera jest to ciekawe rozwiązanie dla posiadaczy malinek ?.


Podsumowanie

Jak widzisz instalacja Dockera na Raspberry Pi nie jest trudna. Po zainstalowaniu możemy dla „funu” postawić sobie np. server Minecrafta, albo… na przykład self-hosted Docker Registry.

Możliwości jest naprawdę wiele. Zarówno one, jak i cena Raspberry Pi może zachęcać do domowych eksperymentów.

Jeśli znasz jeszcze jakieś ciekawe przykłady zastosowania malinki w połączeniu z Dockeremkoniecznie podziel się w komentarzu. Wybrane pomysły dorzucę do powyższej listy. Dzięki! 🙂

.

Damian Naprawa

Software Architect, Docker Certified Associate, praktykujący entuzjasta konteneryzacji. Lubi dzielić się wiedzą na swoim blogu https://szkoladockera.pl oraz w podkaście "Więcej Niż Konteneryzacja". Uczestnik globalnego programu partnerskiego Docker Enablement. Od kilku lat używa kontenerów na produkcji oraz mówi w języku #docker & #kubernetes. Fan automatyzacji oraz podejścia "As a Code"

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *