Jak korzystać z kontenerów Docker
![Jak korzystać z kontenerów Docker](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-00-featured-image-640x375.webp)
![Zdjęcie osoby programującej na laptopie. Zdjęcie osoby programującej na laptopie.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-00-featured-image-800x450-1.webp)
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:
![wyszukiwanie-docker Terminal podświetlający obraz httpd Docker z poziomu narzędzia CLI.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-01-search-image-cli.webp)
![Zrzut ekranu przedstawiający obraz httpd Docker ze strony internetowej Docker Hub. Zrzut ekranu przedstawiający obraz httpd Docker ze strony internetowej Docker Hub.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-02-search-image-web.webp)
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
:
![Terminal podświetlający zainstalowany obraz httpd Docker w systemie. Terminal podświetlający zainstalowany obraz httpd Docker w systemie.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-03-highlight-httpd-image.webp)
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:
![Terminal pokazujący przykładową konfigurację Dockerfile dla niestandardowego obrazu Nginx. Terminal pokazujący przykładową konfigurację Dockerfile dla niestandardowego obrazu Nginx.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-04-dockerfile-sample-config.webp)
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:
![Terminal podświetlający niestandardowy obraz wygenerowany za pomocą polecenia build. Terminal podświetlający niestandardowy obraz wygenerowany za pomocą polecenia build.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-05-highlight-custom-docker-image.webp)
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:
![Terminal pokazujący podpolecenie commit tworzące nowy obraz z kontenera Docker. Terminal pokazujący podpolecenie commit tworzące nowy obraz z kontenera Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-06-commit-existing-image.webp)
Sprawdź, czy nowy obraz Dockera znajduje się w systemie, uruchamiając polecenie docker images
.
![Terminal podświetlający nowy obraz niestandardowy z kontenera Docker zainstalowanego w systemie. Terminal podświetlający nowy obraz niestandardowy z kontenera Docker zainstalowanego w systemie.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-07-highlight-commit-server-image.webp)
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:
![docker-przeglądaj-localhost Zrzut ekranu przedstawiający przeglądarkę internetową otwierającą witrynę hostowaną w niestandardowym kontenerze Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-08-sample-docker-website-running.webp)
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ę:
![Terminal pokazujący proces wyłączania aktualnie uruchomionego kontenera Docker. Terminal pokazujący proces wyłączania aktualnie uruchomionego kontenera Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-10-stop-running-container.webp)
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ć.
![Terminal podświetlający niestandardowy kontener Docker aktualnie uruchomiony w systemie. Terminal podświetlający niestandardowy kontener Docker aktualnie uruchomiony w systemie.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-11-highlight-custom-container-select.webp)
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ć:
![Terminal pokazujący flagę filtru dla podpolecenia inspect w działającym kontenerze Docker. Terminal pokazujący flagę filtru dla podpolecenia inspect w działającym kontenerze Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-12-run-inspect-filter-cli.webp)
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:
![Terminal wyświetlający ciągłe logi kontenera Docker. Terminal wyświetlający ciągłe logi kontenera Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-13-continuous-log-sample.webp)
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:
![Terminal wyświetlający bardziej szczegółowe dane wyjściowe dziennika z aktualnie uruchomionego kontenera Docker. Terminal wyświetlający bardziej szczegółowe dane wyjściowe dziennika z aktualnie uruchomionego kontenera Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-14-detailed-container-log-sample.webp)
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:
![docker-shell-w-kontenerze Terminal pokazujący proces przechodzenia do powłoki głównej kontenera.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-15-drop-to-container-shell.webp)
Teraz możesz na przykład edytować „index.html” i utworzyć w nim stronę główną witryny.
![Terminal pokazujący plik HTML skopiowany do powłoki głównej kontenera Docker. Terminal pokazujący plik HTML skopiowany do powłoki głównej kontenera Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-16-read-container-internal-html-file.webp)
Aby opuścić powłokę kontenera, należy nacisnąć klawisz Ctrl+ Dlub uruchomić exit
terminal.
![Terminal podświetlający polecenie wyjścia z powłoki głównej kontenera Docker. Terminal podświetlający polecenie wyjścia z powłoki głównej kontenera Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-17-highlight-exit-command-container-shell.webp)
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
.
![Terminal pokazujący wszystkie dostępne kontenery Docker, łącznie z tymi aktualnie wyłączonymi. Terminal pokazujący wszystkie dostępne kontenery Docker, łącznie z tymi aktualnie wyłączonymi.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-18-show-active-containers.webp)
Usuń oryginalny obraz Dockera ze swojego wdrożenia Dockera:
![docker-usuń-obraz Terminal podświetlający dane wyjściowe usunięcia obrazu Docker z systemu.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-19-highlight-image-delete-sample.webp)
Sprawdź, czy prawidłowo usunąłeś oryginalny obraz Dockera, uruchamiając docker images
.
![Terminal pokazujący zaktualizowaną listę obrazów Docker. Terminal pokazujący zaktualizowaną listę obrazów Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-20-show-smaller-image-list.webp)
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