Czas czytania: 2 min.

Potrzeba matką wynalazków

Intensywny rozwój oprogramowania – zarówno komputerowego i mobilnego, jak i wbudowanego (firmware) – sprawił, że szczególnego znaczenia nabrał odpowiedni dobór narzędzi deweloperskich, wykorzystywanych w codziennej pracy zarówno przez programistów, jak i testerów oraz managerów. Na poziom złożoności zadań stojących przed osobami zaangażowanymi w rozwój oprogramowania wpływ mają nieustanne zmiany, jakie zachodzą zarówno pod względem sprzętowym (nowe architektury procesorów, urządzenia peryferyjne), jak i programowym (kolejne edycje systemów operacyjnych, frameworków, bibliotek, a nawet… języków programowania). 

Programowanie
Programistyczny software stał się wyjątkowo łatwo dostępny

To wszystko sprawia, że twórcy aplikacji potrzebują metody wygodnego, szybkiego, a przede wszystkim bezpiecznego testowania swoich produktów z możliwością bezproblemowej rekonfiguracji lub przywrócenia środowiska testowego po awarii. Z pomocą przychodzą dwie technologie – wirtualizacja oraz konteneryzacja.

Wirtualizacja vs. Konteneryzacja – co wybrać?

Chyba każdy choć raz spotkał się z pojęciem maszyny wirtualnej – z pomocą oprogramowania takiego, jak VirtualBox bądź VMWare można z łatwością „postawić” wybrany system operacyjny na komputerze, który obsługiwany jest już przez inny OS.

działanie oprogramowania VirtualBox
Maszyna wirtualna umożliwia np. używanie Ubuntu, na komputerze z systemem Windows. (Źródło: https://www.virtualbox.org/)

Zadaniem wirtualnej maszyny jest daleko idąca izolacja systemu „gościa” (ang. guest) i uruchomionych na nim aplikacji od systemu „gospodarza” (ang. host) – rozwiązanie takie umożliwia nie tylko zabezpieczenie hosta przed potencjalnymi zagrożeniami płynącymi od strony podrzędnego systemu, ale także ułatwia pracę osobom, które w swoich działaniach potrzebują korzystać z dwóch (lub więcej) systemów operacyjnych bez konieczności ciągłego wyłączania maszyny i bootowania innego systemu z menu startowego. Oprogramowanie umożliwia również tworzenie migawek (snapshotów), czyli zapisu stanu systemu maszyny wirtualnej, do którego będzie można bezpiecznie i szybko powrócić, np. w przypadku poważnego błędu.

Konteneryzacja zapewnia natomiast niższy poziom izolacji – każdy kontener to w istocie „miniaturowe” środowisko pracy z własnymi bibliotekami i aplikacjami, korzystające jednak z zasobów sprzętowych i programowych głównego, nadrzędnego systemu operacyjnego. Ogromną zaletą konteneryzacji jest daleko idąca redukcja zapotrzebowania na moc obliczeniową i pamięć operacyjną (jak i przestrzeń dyskową) w porównaniu do maszyn wirtualnych – a to przekłada się bezpośrednio na płynność pracy oraz dostępność zasobów dla potrzeb testowanych aplikacji.

Konteneryzacja oprogramowania
"Zamknięcie" programu zwiększa bezpieczeństwo pracy nad projektem

Instalacja Dockera na Raspberry Pi

W kwestii sprzętowej doskonałym wyborem dla osób chcących rozpocząć korzystanie z konteneryzacji będzie minikomputer Raspberry Pi 4. Docker – jedno z najpopularniejszych środowisk kontenerowych – bez problemu współpracuje z „maliną” – doczekał się zresztą gotowych pakietów instalacyjnych. Aby pobrać Dockera w odpowiedniej wersji, należy uruchomić terminal Raspberry Pi i wpisać komendę, która automatycznie pobierze i zapisze na dysku (a dokładniej – karcie microSD) kompletny skrypt instalacyjny:

				
					curl -fsSL https://get.docker.com -o get-docker.sh
				
			

Po pobraniu należy uruchomić skrypt za pomocą komendy shella:

				
					sh get-docker.sh
				
			

Całość konfiguracji, jak i pobieranie odpowiednich plików binarnych, zostanie wykonane automatycznie, dzięki czemu nie trzeba ręcznie doinstalowywać brakujących repozytoriów. Na koniec warto dodać aktualnego użytkownika do grupy docker (zwykle będzie to po prostu domyślne konto o nazwie pi), utworzonej podczas instalacji oprogramowania:

				
					sudo usermod -aG docker $USER
				
			

Operacja taka umożliwi uruchamianie Dockera bez konieczności logowania jako root, co znakomicie ułatwi codzienną pracę z tym środowiskiem.

Tworzenie i używanie kontenerów Dockera

W przypadku Raspberry Pi Docker działa na dokładnie takiej samej zasadzie, jak ma to miejsce na innych komputerach – pracę należy rozpocząć od pobrania odpowiedniego obrazu kontenera, czyli gotowego zestawu bibliotek, plików systemowych oraz narzędzi systemowych, bazującego na jednym ze znanych systemów operacyjnych, np. Debiana, Ubuntu, czy Fedory. Przykładowo, aby uruchomić obraz Ubuntu, należy wykonać komendę:

				
					docker container run -it ubuntu /bin/bash
				
			

Polecenie to – oprócz uruchomienia (a przedtem – jeżeli to konieczne – automatycznego pobrania) obrazu popularnego Linuksa – wykona także operację zapisaną po nazwie obrazu. W tym przypadku zostanie uruchomiony linuksowy wiersz polecenia, co pozwoli rozpocząć pracę „wewnątrz” kontenera tak, jak gdyby był on zwykłym komputerem, pracującym pod kontrolą Ubuntu.

Jak oceniasz ten wpis blogowy?

Kliknij gwiazdkę, aby go ocenić!

Średnia ocena: 4.5 / 5. Liczba głosów: 13

Jak dotąd brak głosów! Bądź pierwszą osobą, która oceni ten wpis.

Podziel się:

Picture of Maciej Figiel

Maciej Figiel

Wszechstronny, chętnie podejmuje się wyzwań, bo uważa, że jest to najszybsza droga ku rozwojowi. Ceni sobie kontakt z naturą i aktywny wypoczynek. Pasjonat motoryzacji i nowych technologii.

Zobacz więcej:

Agata Kosmala

Drukuj z eufyMake E1 – 34 kluczowe wskazówki

Rozpoczynasz przygodę z drukarką UV eufyMake E1? Zamiast uczyć się na własnych błędach, skorzystaj ze sprawdzonej wiedzy społeczności makerów! Przygotowaliśmy zestawienie 34 kluczowych porad i trików, które pomogą Ci idealnie kalibrować sprzęt, oszczędzać tusz, unikać rozmytych nadruków i wycisnąć z E1 maksimum możliwości już od pierwszego uruchomienia.

Agata Kosmala

31 pomysłów, które wykonasz na drukarce UV – eufyMake E1

Druk UV to nie tylko płaskie nadruki – to technologia, która pozwala nakładać trójwymiarowe tekstury niemal na każdym materiale, od pleksi i drewna po stal czy skórę. Zobacz 31 kreatywnych pomysłów na wykorzystanie drukarki UV i przenieś swoje projekty na zupełnie nowy poziom!

Patrycja Genczelewska

Uporządkuj swoje stanowisko do druku 3D z BIQU Panda!

Masz dość chaosu wokół swojej drukarki Bambu Lab? Porozrzucane moduły AMS, brak miejsca na narzędzia i wieczny bałagan na biurku potrafią odebrać całą frajdę z drukowania. Na szczęście seria akcesoriów BIQU Panda pozwoli Ci opanować ten bałagan!

Patrycja Genczelewska

Uporządkuj swoje stanowisko do druku 3D z BIQU Panda!

Masz dość chaosu wokół swojej drukarki Bambu Lab? Porozrzucane moduły AMS, brak miejsca na narzędzia i wieczny bałagan na biurku potrafią odebrać całą frajdę z drukowania. Na szczęście seria akcesoriów BIQU Panda pozwoli Ci opanować ten bałagan!

Agata Kosmala

Jak zarabiać dzięki drukarce UV? Praktyczny poradnik

Technologia druku UV podbija rynek – i nic w tym dziwnego. Możliwość personalizacji niemal dowolnej powierzchni otworzyła zupełnie nowe możliwości przed twórcami i małymi firmami. Poznaj sprawdzone sposoby na zarabianie na drukarce UV!

Masz pytanie techniczne?
Zapytaj na zaprzyjaźnionym forum o elektronice.