fbpx

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

Praktykujący pasjonat konteneryzacji. Lubi dzielić się wiedzą, prowadząc warsztaty i szkolenia. Chętnie występuje również w roli prelegenta na meetupach i konferencjach. Uczestnik globalnego programu partnerskiego Docker Enablement. Pracuje z Dockerem na co dzień od kilku lat. Odpowiedzialny za tworzenie i utrzymanie systemów działających w oparciu o kontenery. Fan automatyzacji oraz podejścia "As a Code".

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *