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
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.
Bez tego za każdym razem musielibyśmy używać sudo. Przykład:
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
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
Instalacja docker-compose na Raspberry
Finalnie, możemy skrozystać z pip i zainstalować docker-compose.
Test – czy docker-compose działa na Raspberry Pi
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
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 Dockerem – koniecznie podziel się w komentarzu. Wybrane pomysły dorzucę do powyższej listy. Dzięki!