Powrót do bloga

Instalacja i konfiguracja Dockera na CentOS 7

Instalacja i konfiguracja Dockera na CentOS 7

Wprowadzenie

Docker to platforma, która ułatwia uruchamianie i zarządzanie procesami aplikacji w kontenerach. Zapewnia sposób na odizolowanie aplikacji od infrastruktury. Kontenery są bardzo podobne do maszyn wirtualnych, ale są bardziej przenośne, wydajne i łatwe w użyciu. Istnieją różne sposoby instalacji Dockera na dystrybucjach Linux. Najpopularniejszym i najprostszym sposobem instalacji Dockera na istniejącym systemie operacyjnym jest użycie poleceń yum.

Ten samouczek pokaże, jak skonfigurować i używać Dockera na systemie CentOS 7 w kilku prostych krokach.

Wymagania wstępne:

Wszystkie polecenia wykonywane w tym samouczku są uruchamiane jako użytkownik niebędący rootem, a w razie potrzeby dostęp do konta root zostanie zapewniony za pomocą słowa kluczowego sudo.

Krok 1: Konfiguracja Dockera na instancji CentOS 7

Oficjalne repozytorium CentOS 7 może nie zawierać najnowszego pakietu instalacyjnego Dockera. W tej sekcji zainstalujesz najnowszą wersję Dockera z oficjalnego repozytorium Docker. Najpierw musisz zaktualizować bazę danych pakietów za pomocą:

Po zakończeniu kroku aktualizacji uruchom poniższe polecenie, aby pobrać i zainstalować najnowszą wersję Dockera:

Docker został zainstalowany, więc możesz uruchomić demona Docker, uruchamiając poniższe polecenie:

Aby sprawdzić, czy demon Docker działa, wpisz następujące polecenie:

Wynik polecenia systemctl status powinien być podobny do poniższego, co oznacza, że usługa działa:

Na koniec, aby upewnić się, że Docker uruchamia się po ponownym uruchomieniu maszyny, użyj polecenia:

Instalacja Dockera zapewnia zarówno usługę Docker, jak i narzędzie klienckie (klienta wiersza poleceń Docker). W kolejnych sekcjach samouczka będziesz mógł lepiej zapoznać się z poleceniami Dockera w praktyce.

Możesz również zapoznać się z naszym szczegółowym samouczkiem na temat tego, jak zainstalować & obsługiwać Dockera na Ubuntu w chmurze publicznej.

Krok 2: Używanie poleceń Dockera bez przedrostka Sudo

Polecenia Dockera wymagają uprawnień roota do uruchomienia. Dlatego, jeśli chcesz uruchomić te polecenia, musisz poprzedzić je przedrostkiem sudo. Podczas instalacji domyślnie tworzona jest grupa Docker. Jeśli dodasz użytkownika do tej grupy, będziesz mógł uruchamiać polecenia Dockera bez sudo. Próba uruchomienia poleceń Dockera bez sudo lub przed dodaniem użytkownika do grupy spowoduje wyświetlenie wyniku podobnego do poniższego:

Dodanie swojej nazwy użytkownika do grupy Docker sprawi, że nie będziesz musiał używać sudo do uruchamiania poleceń Dockera:

Aby dodać innego użytkownika do grupy Docker, możesz po prostu zastąpić nazwę użytkownika w poleceniu:

W dalszej części tego przewodnika zakładamy, że wszystkie polecenia są wykonywane przez użytkownika należącego do grupy użytkowników Docker. Jeśli tak nie jest, możesz użyć przedrostka sudo przed poleceniami.

Krok 3: Wykonywanie poleceń platformy Docker

Teraz, gdy masz zainstalowanego i uruchomionego Dockera, przyjrzyjmy się kilku poleceniom, aby zapoznać się z narzędziem wiersza poleceń Docker. Polecenia Dockera zazwyczaj mają następującą postać:

Aby znaleźć wszystkie dostępne podpolecenia, należy użyć:

Od wersji Docker 20.10.3, pełna lista dostępnych podpoleceń obejmuje:

Możesz użyć flagi –help z konkretnym poleceniem, aby uzyskać o nim więcej informacji:

Aby uzyskać szczegółowe informacje o systemie, użyj:

Krok 4: Praca z obrazami Docker

Obrazy Docker można nazwać schematem dla kontenerów Docker. Obrazy te są zazwyczaj pobierane z Docker Hub, który jest rejestrem zarządzanym przez projekt Docker. Każdy może tworzyć i przesyłać swoje obrazy do Docker Hub. W rezultacie w rejestrze można łatwo znaleźć szeroką gamę aplikacji i dystrybucji systemów operacyjnych. Wypróbujmy prosty program, który potwierdzi dostęp do Docker Hub:

Powinieneś otrzymać dane wyjściowe jak poniżej, co pokazuje, że Docker działa:

Możesz znaleźć różne obrazy Docker w Docker Hub, używając polecenia wyszukiwania. Na przykład zobacz poniższe polecenie, aby wyszukać obraz CentOS:

Zapytanie wyszukiwania wyświetli listę wszystkich obrazów, które pasują do podanego ciągu znaków. W Twoim przypadku wynik powinien wyglądać następująco:

In the search results, there are different columns describing information about the image. The OK in the OFFICIAL column determines that the image was created and supported by the company behind the application. Once you have finalized the image, you can download it to your local machine using the Docker pull command:

Po pobraniu obrazu możesz uruchomić kontener za pomocą polecenia Docker run. Jeśli spróbujesz bezpośrednio uruchomić obraz bez wcześniejszego pobrania, Docker najpierw pobierze obraz, a następnie uruchomi kontener:

Możesz wyświetlić listę obrazów pobranych na lokalny komputer za pomocą poniższego polecenia:

Powinieneś otrzymać podobny wynik:

W dalszej części tego samouczka dowiesz się, jak modyfikować obrazy w celu uruchamiania kontenerów. Te nowe obrazy mogą być dodawane lub przesyłane (push) do Docker Hub oraz innych rejestrów przechowujących obrazy Docker.

Krok 5: Interaktywne uruchamianie kontenera

Istnieją różne typy kontenerów. Kontener hello-world uruchomiony w Kroku 4 to typ kontenera, który uruchamia się i kończy działanie po wyświetleniu komunikatu. Innym typem kontenera jest kontener interaktywny. Możesz używać kontenerów interaktywnych w podobny sposób jak maszyn wirtualnych.

Stwórzmy kontener z najnowszego obrazu CentOS. Użycie flag -i oraz -t w poleceniu Docker run zapewni interaktywny dostęp do kontenera CentOS:

Wiersz poleceń ulegnie zmianie i powinien wyglądać jak poniższy wynik:

Teraz każde wykonane polecenie zostanie uruchomione wewnątrz kontenera. Jest to podobne do uruchamiania poleceń w maszynie wirtualnej. Spróbujmy zainstalować MySQL serwer w kontenerze CentOS. Możesz to zrobić za pomocą:

Krok 6: Zapisywanie zmian w kontenerze do obrazu Docker

Po uruchomieniu kontenera możesz wykonywać wszystkie operacje, które są możliwe w podobnej maszynie wirtualnej, takie jak tworzenie/modyfikowanie plików lub konfigurowanie aplikacji. Pamiętaj, że te zmiany pozostaną tylko w tym kontenerze, a po usunięciu kontenera wprowadzone zmiany zostaną utracone.

W tej części samouczka dowiesz się, jak utworzyć nowy obraz platformy Docker z kontenera z wprowadzonymi zmianami. Po Krok 5 masz uruchomiony kontener CentOS z zainstalowanym serwerem MySQL. Ten kontener różni się teraz od czystego obrazu CentOS. Możesz zapisać ten stan kontenera do dalszego użytku. Najpierw musisz wyjść z kontenera za pomocą:

Zatwierdź zmiany wprowadzone w kontenerze do nowego obrazu Docker za pomocą poniższego polecenia:

W poleceniu -m odnosi się do komunikatu zatwierdzenia (commit message) i powinno zasadniczo opisywać wprowadzone zmiany, tag -a służy do wskazania autora. Container-id to identyfikator z Krok 5, który otrzymałeś po uruchomieniu kontenera w trybie interaktywnym, a zazwyczaj repozytorium to Twoja nazwa użytkownika w Docker Hub. Na przykład:

Teraz, gdy obraz został zatwierdzony, polecenie docker images powinno wyświetlić zarówno nowy obraz, jak i stare:

Wynik polecenia powinien być podobny do poniższego:

Jak widać w przykładzie, nowy obraz centos-mysql został utworzony przy użyciu obrazu CentOS z Docker Hub. Różnica w rozmiarze wskazuje, że wprowadzono pewne zmiany. W tym przykładzie było to dodanie serwera MySQL w kontenerze. Następnym razem, gdy będziesz potrzebować kontenera z serwerem MySQL, możesz po prostu uruchomić nowy obraz i voila! Masz uruchomiony kontener CentOS z preinstalowanym serwerem MySQL.

Krok 7: Zarządzanie kontenerami Docker

Nowe, gdy znasz już Dockera, po pewnym czasie korzystania z niego masz już kilka uruchomionych i kilka nieaktywnych kontenerów. Aby uzyskać listę aktywnych kontenerów, należy użyć:

Powinieneś zobaczyć podobny wynik:

Aby wyświetlić zarówno aktywne, jak i nieaktywne kontenery, należy użyć flagi -a z poleceniem:

Aby znaleźć ostatnio utworzony kontener, możesz użyć flagi -l:

Aby zatrzymać uruchomiony/aktywny kontener, uruchom proste polecenie:

Identyfikator kontenera (container-id) znajdziesz w wyniku polecenia Docker ps.

Krok 8: Publikowanie obrazów w repozytorium

Kolejnym krokiem po utworzeniu nowego obrazu jest udostępnienie go znajomym. Możesz go również udostępnić całemu światu za pomocą Docker Hub lub dowolnego innego rejestru. Przed przesłaniem obrazu wymagane jest zalogowanie się do odpowiedniego rejestru.

W kolejnej części samouczka dowiesz się, jak przesłać obrazy do Docker Hub. Najpierw zarejestruj się w Docker Hub. Aby przesłać swój obraz, musisz zalogować się do Docker Hub za pomocą poniższego polecenia:

Po podaniu prawidłowego hasła i pomyślnym uwierzytelnieniu możesz przesłać swój obraz. Aby przesłać obraz, użyj poniższego polecenia:

Wynik polecenia będzie podobny do tego:

Po przesłaniu obrazu powinien on pojawić się w panelu Twojego konta, jak pokazano na poniższym obrazku:

docker account dashboard

W przypadku niepowodzenia w podobny sposób, istnieje prawdopodobieństwo, że nie jesteś zalogowany:

Możesz się zalogować i powtórzyć próbę przesłania.

Podsumowanie

Istnieje wiele sposobów na wykorzystanie Dockera. Ten samouczek powinien dostarczyć Ci wystarczających informacji na start. A ponieważ Docker jest bardzo popularnym projektem, wiele szczegółów na temat jego użycia, a także różnych przypadków użycia, można znaleźć na stronie bloga projektu.

Możesz również zapoznać się z naszymi innymi samouczkami dotyczącymi Dockera, aby dowiedzieć się więcej o tym, co możesz z nim zrobić:

Udanego korzystania!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev jest projektantem kreatywnym w CloudSigma, skupiającym się na spójnej tożsamości biznesowej przy wykorzystaniu tradycyjnych i innowacyjnych kanałów marketingowych. Biegle łączy wizję artystyczną ze strategicznym marketingiem, tworząc wywierające wpływ narracje marki.

Komentarze

Brak komentarzy. Bądź pierwszy.