Docker na Raspberry PI – instalacja i możliwości

szkoladockera.pl 4 lat temu

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

Uznałem, iż 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 – interesujące 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ę, iż 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 – o ile 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 choćby bez Dockera jest to interesujące 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!

Idź do oryginalnego materiału