Samouczek: wprowadzenie do platformy Docker

W tym samouczku dowiesz się więcej na temat tworzenia i wdrażania aplikacji platformy Docker na komputerach Windows lub Mac przy użyciu usługi Visual Studio Code, w tym używania wielu kontenerów z bazą danych i korzystania z Docker Compose. Wdrożysz również konteneryzowana aplikację na platformie Azure.

Kontenery są kompaktowymi środowiskami zwirtualizowanymi, na przykład maszynami wirtualnymi, które zapewniają platformę do tworzenia i uruchamiania aplikacji, ale bez pełnego rozmiaru i obciążenia całego systemu operacyjnego. Docker to standardowy w branży system zarządzania kontenerami i dostawca kontenerów innej firmy. Program Docker Desktop działa na maszynie i zarządza lokalnymi kontenerami. Narzędzia programowe, takie jak Visual Studio i VS Code, oferują rozszerzenia, które umożliwiają pracę z lokalnie zainstalowaną usługą Docker Desktop w celu tworzenia konteneryzowanych aplikacji, wdrażania aplikacji w kontenerach i debugowania aplikacji uruchomionych w kontenerach.

Wymagania wstępne

Uruchom samouczek

Jeśli polecenie zostało już uruchomione, aby rozpocząć pracę z samouczkiem, gratulujemy! Jeśli nie, otwórz wiersz polecenia lub okno powłoki bash i uruchom polecenie:

docker run -d -p 80:80 docker/getting-started

Zauważysz, że jest używanych kilka flag. Poniżej znajdziesz więcej informacji na ich temat:

  • -d — uruchamianie kontenera w trybie odłączanym (w tle)
  • -p 80:80 — zamapuj port 80 hosta na port 80 w kontenerze
  • docker/getting-started — obraz do użycia

Porada

Możesz połączyć flagi pojedynczego znaku, aby skrócić pełne polecenie. Na przykład powyższe polecenie może być zapisane w następujący sposób:

docker run -dp 80:80 docker/getting-started

Rozszerzenie VS Code

Przed zbyt daleko chcemy wyróżnić rozszerzenie docker VS Code, które zapewnia szybki widok kontenerów uruchomionych na maszynie. Zapewnia szybki dostęp do dzienników kontenerów, umożliwia uzyskanie powłoki wewnątrz kontenera i umożliwia łatwe zarządzanie cyklem życia kontenera (zatrzymywanie, usuwanie itd.).

Aby uzyskać dostęp do rozszerzenia, postępuj zgodnie z instrukcjami podanymi tutaj. Użyj ikony platformy Docker po lewej stronie, aby otworzyć widok platformy Docker. Jeśli teraz otworzysz rozszerzenie, ten samouczek zostanie uruchomiony. Nazwa kontenera angry_taussig (poniżej) jest losowo utworzoną nazwą. Dlatego najprawdopodobniej będziesz mieć inną nazwę.

Kontener samouczka uruchomiony w rozszerzeniu platformy Docker

Co to jest kontener

Co to jest kontener po uruchomieniu kontenera? Mówiąc prościej, kontener jest po prostu innym procesem na maszynie, który został odizolowany od wszystkich innych procesów na maszynie hosta. Ta izolacja wykorzystuje przestrzenie nazw jądra i cgroups, funkcje, które były w systemie Linux od dłuższego czasu. Docker pracowała nad tym, aby te możliwości były łatwe w użyciu i łatwe w użyciu.

Uwaga

Tworzenie kontenerów od podstaw Jeśli chcesz zobaczyć, jak kontenery są budowane od podstaw, Liz Aki z firmy Aqua Security ma film wideo, w którym tworzy kontener od podstaw w skrypcie Go:

Co to jest obraz kontenera

Podczas uruchamiania kontenera jest używany izolowany system plików. Ten niestandardowy system plików jest dostarczany przez obraz kontenera. Ponieważ obraz zawiera system plików kontenera, musi zawierać wszystkie elementy potrzebne do uruchomienia aplikacji — wszystkie zależności, konfigurację, skrypty, pliki binarne i tak dalej. Obraz zawiera również inne konfiguracje kontenera, takie jak zmienne środowiskowe, domyślne polecenie do uruchomienia i inne metadane.

W dalszej części dowiemy się więcej na temat obrazów, na przykład warstw, najlepszych rozwiązań i innych.

Uwaga

Jeśli znasz już kontener , pomyśl chroot o kontenerze jako o rozszerzonej wersji programu chroot . System plików pochodzi po prostu z obrazu. Kontener dodaje jednak dodatkową izolację, która nie jest dostępna w przypadku korzystania z chroot.

Następne kroki

Kontynuuj pracę z samouczkiem!