Jak korzystać z kontenerów Docker
Kontenery są siłą napędową każdej instalacji Dockera. Stanowią fundament platformy Docker i pozwalają uruchamiać usługi na komputerze bez obaw o zależności i konflikty wersji. Tutaj pokazujemy podstawy tworzenia, zarządzania i dostosowywania kontenerów Dockera za pomocą narzędzia Docker CLI.
Jak znaleźć i pobrać obraz Dockera
Kontenery Dockera to specjalny rodzaj środowiska programistycznego, który umożliwia uruchamianie programów oddzielnie od reszty oryginalnego systemu. Aby to osiągnąć, Docker używa „obrazów oprogramowania”. Są to statyczne kopie programów, które służą jako baza, od której rozpoczyna się kontener.
To rozróżnienie między obrazem a kontenerem pozwala na ponowne tworzenie i dostosowywanie oprogramowania w dowolny niezbędny sposób. Na przykład możesz mieć obraz taki jak „httpd”, ale utworzyć z niego dwa odrębne kontenery: „website1” i „website2”.
Najprostszym sposobem na uzyskanie nowego obrazu Dockera jest użycie search
podpolecenia:
Aby pobrać obraz na swój system, uruchom następujące polecenie:
Potwierdź, że poprawnie dodałeś nowy obraz do systemu, korzystając z podpolecenia images
:
Tworzenie nowego obrazu przy użyciu plików Dockerfile
Oprócz pobierania wstępnie skompilowanych obrazów z Docker Hub, możesz budować obrazy bezpośrednio z Docker CLI. Jest to przydatne, jeśli chcesz tworzyć niestandardowe wersje istniejących pakietów oprogramowania lub przenosisz nowe aplikacje do Docker.
Aby to zrobić, najpierw utwórz folder w swoim katalogu domowym, w którym będą przechowywane pliki kompilacji:
Utwórz nowy plik Dockerfile przy użyciu ulubionego edytora tekstu:
Wklej następujące wiersze kodu do nowego pliku Dockerfile:
Utwórz folder „sample-site” i skopiuj go lub utwórz prostą witrynę HTML:
Zapisz nowy plik Dockerfile, a następnie uruchom następujące polecenie, aby skompilować go w swoim systemie:
Sprawdź, czy nowy obraz Docker znajduje się na liście obrazów Docker:
Tworzenie nowego obrazu przy użyciu istniejących kontenerów
Narzędzie Docker CLI może również budować nowe obrazy z kontenerów, które obecnie istnieją w systemie. Jest to przydatne, jeśli pracujesz już w istniejącym środowisku i chcesz utworzyć nowy obraz z bieżącej konfiguracji.
Aby to zrobić, upewnij się, że kontener nie jest aktualnie uruchomiony:
Uruchom commit
podpolecenie, po którym należy podać nazwę kontenera, a następnie nazwę nowego obrazu Docker:
Sprawdź, czy nowy obraz Dockera znajduje się w systemie, uruchamiając polecenie docker images
.
Jak uruchomić i zatrzymać kontener Docker
Mając gotowy obraz Dockera, możesz zacząć go używać do tworzenia pierwszego kontenera. Aby to zrobić, użyj podpolecenia, run
a następnie nazwy obrazu, który chcesz uruchomić:
Chociaż to zadziała w przypadku uruchomienia pierwszego kontenera Docker, wykonanie tego w ten sposób spowoduje przejęcie bieżącej sesji powłoki. Aby uruchomić kontener w tle, dołącz flagę -d
po run
podkomendzie:
Podpolecenie run
może również przyjąć szereg dodatkowych flag, które mogą zmienić zachowanie nowego kontenera Docker. Na przykład flaga --name
umożliwia dodanie dostosowywalnej nazwy do kontenera:
Z drugiej strony możesz użyć --publish
flagi, aby przekierować port sieciowy, gdzie możesz uzyskać dostęp do swojego kontenera Docker. Jest to przydatne przede wszystkim, jeśli nie chcesz, aby Twój kontener przejmował uprzywilejowany port:
Możesz sprawdzić wszystkie aktualnie uruchomione w systemie kontenery Docker, uruchamiając następujące polecenie:
Podobnie jak run
podpolecenie, ps
może również przyjąć kilka flag, które zmodyfikują sposób jego zachowania. Na przykład, aby wyświetlić kontenery, które są obecnie wyłączone, użyj flagi -a
:
Aby wyłączyć działający kontener, użyj stop
podpolecenia, po którym należy podać identyfikator kontenera lub jego nazwę:
Możesz ponownie uruchomić dowolny zatrzymany kontener, uruchamiając ponownie podpolecenie start
:
Wstrzymywanie i zamykanie kontenera Docker
Narzędzie Docker CLI umożliwia również tymczasowe wstrzymanie i zabicie uruchomionego procesu kontenera. Może się to przydać, jeśli rozwiązujesz problem z konfiguracją Dockera i chcesz odizolować lub zatrzymać nieprawidłowo działający kontener.
Zacznij od uruchomienia docker ps
listy wszystkich uruchomionych kontenerów w systemie.
Znajdź identyfikator lub nazwę kontenera, którym chcesz zarządzać.
Uruchom pause
podpolecenie, podając nazwę kontenera, który chcesz tymczasowo zawiesić:
Możesz wznowić zawieszony proces, uruchamiając unpause
podpolecenie:
Aby zatrzymać nieprawidłowo działający proces, uruchom kill
podpolecenie, a następnie nazwę swojego kontenera:
Jak sprawdzić kontener Docker
Znajomość zawiłych szczegółów kontenera jest kluczowa dla utrzymania kondycji stosu Docker. Pozwala szybko przyjrzeć się potencjalnym problemom i może być różnicą między naprawą a ponownym wykonaniem całego wdrożenia.
Aby wyświetlić przegląd kontenera Docker, uruchom podpolecenie inspect
:
Spowoduje to wydrukowanie długiego ciągu JSON opisującego aktualny stan całego kontenera. Możesz zawęzić to, przekazując dane wyjściowe do jq lub używając wbudowanej -f
flagi, a następnie obiektu JSON, który chcesz wydrukować:
Drukowanie dzienników kontenerów do terminala
Oprócz tego możesz również śledzić i drukować logi dowolnego aktualnie uruchomionego kontenera Docker. Może to być przydatne, jeśli chcesz sprawdzić, jak obecnie zachowuje się Twoja usługa i zobaczyć dane wyjściowe, które zwraca do STDOUT.
Aby to zrobić, uruchom podpolecenie logs, a następnie nazwę swojego kontenera:
Możesz również uruchomić podpolecenie logs z --follow
flagą, aby utworzyć ciągły dziennik usługi Docker. Jest to podobne do uruchamiania tail -f
na końcu potoku UNIX:
Podobnie jak w przypadku innych podpoleceń, możesz również dodać różne flagi, aby dostosować dane wyjściowe dziennika kontenera Docker. Na przykład flaga --timestamps
dodaje szczegółowy znacznik czasu dla każdej wiadomości, którą kontener wysyła do swojego STDOUT:
Flaga --details
wydrukuje nawet zmienne środowiskowe, które ustawiłeś dla swojego bieżącego kontenera Docker. Tymczasem flaga --since
pozwala ci wyświetlać tylko logi, które wydarzyły się po określonym punkcie w czasie:
Jak dostosować kontener Docker
W swojej istocie Docker Container to mała, uproszczona wersja Linuksa działająca na Twoim obecnym systemie. Oznacza to, że podobnie jak w przypadku maszyny wirtualnej, można uzyskać dostęp do danych w kontenerze i je pobrać.
Aby skopiować plik lokalny z komputera hosta do kontenera, uruchom cp
podpolecenie:
Czasami będziesz musiał również „wejść” do kontenerów, otwierając w nich powłokę. W ten sposób możesz edytować pliki, instalować pliki binarne i dostosowywać je do swoich potrzeb:
Teraz możesz na przykład edytować „index.html” i utworzyć w nim stronę główną witryny.
Aby opuścić powłokę kontenera, należy nacisnąć klawisz Ctrl+ Dlub uruchomić exit
terminal.
Jak usunąć kontenery i obrazy Docker
Usuwanie nieużywanych kontenerów Docker i obrazów jest ważną częścią ogólnego sprzątania wdrożenia. Dzięki temu możesz usunąć niepotrzebne pliki z serwera, oszczędzając miejsce na dysku w dłuższej perspektywie.
Zanim usuniesz kontener, upewnij się, że go najpierw zatrzymałeś:
Teraz usuń kontener za pomocą rm
podpolecenia:
Potwierdź, że prawidłowo usunąłeś stary kontener Docker, uruchamiając docker ps -a
.
Usuń oryginalny obraz Dockera ze swojego wdrożenia Dockera:
Sprawdź, czy prawidłowo usunąłeś oryginalny obraz Dockera, uruchamiając docker images
.
Nauczysz się, jak tworzyć, zarządzać i usuwać kontenery Docker – to tylko niektóre z umiejętności, które możesz wykorzystać na swoim serwerze Linux.
Źródło obrazu: Shamin Haky przez Unsplash . Wszystkie zmiany i zrzuty ekranu autorstwa Ramces Red.
Dodaj komentarz