Jak wiemy technologia konteneryzacji to jedna z najszybciej rozwijających się dzisiaj technologii na świecie. Rok do roku zyskuje na popularności, coraz więcej firm dostrzega potencjał Dockera i konteneryzacji, także na rodzimym rynku. W naszym cyklu artykułów na Władcach Sieci podjęliśmy już zagadnienie Dockera w systemie Windows i przygotowaliśmy środowisko do pracy. 

Niewątpliwie jednak spora część osób i czytelników korzysta na co dzień z systemu Linux na desktopie, dlatego w dzisiejszym artykule przybliżę tematykę przygotowania środowiska pracy w systemie Linux. 

Jako, że poprzednio pokazywałem instalację Dockera dla Ubuntu w systemie Windows, a instalacja na desktopie Linuxowym nie różni się zbytnio od tej Windowsowej wersji, dzisiaj skupimy się na przygotowaniu środowiska kontenerowego do pracy na systemie innym niż z rodziny Ubuntu lub bazującym na nim.  

Pokażę przygotowanie tego samego środowiska dla dwóch dystrybucji: Manjaro Linux oraz Fedora. Oba nie bazują na Ubuntu, Debianie i pochodnych, ponieważ Manjaro bazuje na Arch Linuxie, natomiast Fedora bazuje na systemie RedHat.  

Docker w Manjaro 

W dniu pisania tego poradnika, aktualną wersją jest: 20.1.2 ze środowiskiem graficznym xfce. Nie ma, co do zasady, żadnego znaczenia czy korzystamy z systemu z graficznym interfejsem czy jest to tylko konsola. W środowisku graficznym i tak uruchamiamy terminal. 

O ile w systemie Windows istnieje możliwość uruchomienia instalatora okienkowego to Linux jest nieco bardziej wymagający. 

Najpierw upewnijmy się, że mamy zaktualizowany w całości system.

pacman -Syu

Włączamy moduł “loop”:

tee /etc/modules-load.d/loop.conf <<< „loop”

modprobe loop

instalujemy Docker’a:

pacman -S docker

Musimy jeszcze włączyć usługę, aby wstawała razem z systemem oraz wystartować ją po zainstalowaniu.

systemctl start docker.service

systemctl enable docker.service

Sprawdzamy zainstalowaną wersję za pomocą polecenia:

docker version

Więcej szczegółów możemy uzyskać po wpisaniu polecenia:

docker info

Uruchomienie Dockera dla użytkownika

Z wiadomych powodów nie powinno się uruchamiać procesów jako root. tak samo jest z Dockerem. Jako, że jest to parawirtualizacja to wyskoczenie z kontenera nie jest trudnym zadaniem, dlatego tym bardziej nie zaleca się uruchamiania kontenerów jako root. Dodatkowo w codziennej pracy mam nadzieję, że nie korzystacie z kont administratora. Aby móc obsługiwać dockera, uruchamiać kontenery, musimy zmodyfikować nieco użytkownika, na którym na co dzień pracujemy.

W moim przypadku użytkownik to “azug”.

Domyślnie przy instalacji Dockera w Manjaro jest tworzona grupa systemowa “docker”. Aby dodać do niej użytkownika wpisujemy:

usermod -aG docker azug

Jeśli korzystamy z desktopowej wersji Linuxa Manjaro koniecznym jest wylogowanie się z systemu i zalogowanie się ponownie. Nie wystarczy zamknąć terminala, konieczne jest wylogowanie się. Inaczej otrzymamy komunikat o błędzie i braku odpowiednich uprawnień do korzystania z usługi Dockera w systemie.

Pozostaje teraz tylko przetestować, czy na naszym użytkowniku możemy uruchamiać już kontenery. W tym celu używamy przykładowego obrazu Hello-World.

docker run hello-world

Jak widać wszystko jest w porządku i obraz nam się załadował. Możemy zacząć pracę z Dockerem na naszym desktopie z Linuxem Manjaro.

Docker w Fedorze

Fedora to system Linux oparty o RedHat, równie dobry co stabilny i często wykorzystywany jako system dla desktopa. Szczególnie na początku często użytkownicy wybierają Fedorę jako pierwszy system, słysząc lub szukając informacji o stabilnym, bezpiecznym systemie.

W chwili pisania tego artykułu Fedora jest dostępna w wersji 33.1.2

Tu podobnie jak w poprzednim przykładzie, wykorzystamy wbudowany terminal. Nie ma tu instalatora okienkowego jak w przypadku Windowsa. Co do zasady w ogóle nie ma potrzeby korzystania ze środowiska graficznego do pracy z Dockerem, do jego instalacji i zarządzania.

Pierwszą rzeczą jaką musimy zrobić w systemie Fedora, jeśli chcemy mieć lokalnego Dockera jest instalacja niezbędnych pakietów oraz dodanie repozytorium Dockera.

dnf install dnf-plugins-core

dnf config-manager –add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Instalacja pakietu Dockera:

dnf install docker-ce docker-ce-cli containerd.io

Włączamy usługi i dodajemy do automatycznego startu:

systemctl start docker.service

systemctl enable docker.service

Modyfikujemy użytkownika systemowego, aby mógł pracować z kontenerami ze swojego konta. Nie zaleca się nigdy pracy w systemie, zwłaszcza z kontenerami jako root.

usermod -aG docker azug

Pozostaje tylko sprawdzenie czy użytkownik systemu może uruchomić testowy obraz Dockera.

docker run hello-world

Jak widać wszystko zakończyło się poprawnie, możemy rozpocząć pracę z kontenerami.

Instalacja środowiska kontenerowego i uruchomienie podstawowych komponentów pozwalających na pracę z Dockerem nie stanowi większego problemu. W każdym systemie jest nieco inaczej, ale co do zasady podstawowe kroki się nie zmieniają. Zmieniają się repozytoria, zmienia się manager pakietów.

Uruchomienie środowiska nie powinno przysporzyć problemu nawet początkującym administratorom. To co przedstawiłem w niniejszym artykule to dopiero początek. Istnieje jeszcze ogrom ciekawych rzeczy, które możemy robić ze środowiskiem kontenerów. Pozostają oczywiście kwestie bezpieczeństwa, ale zakładam, że na powyższych systemach pracujemy lokalnie, a nie jest to środowisko serwerowe (choć może być jeśli ktoś się uprze).

Jeśli jesteśmy dopiero początkującymi administratorami warto od razu nabierać dobrych praktyk, warto pamiętać o podstawach, aby w przyszłości nie mieć problemów w środowiskach mniej lub bardziej produkcyjnych. Warto pamiętać, aby nie uruchamiać kontenerów Dockera jako użytkownik z uprawnieniami administratora. Docker choć bardzo ułatwia pracę nie jest pełną wirtualizacją, nie izoluje procesów. Bardzo łatwo wyskoczyć z kontenera i wyeskalować uprawnienia, jeśli kontener był uruchomiony na użytkowniku np. root.