Różnica między Expose a Ports w Docker Compose

Różnica między Expose a Ports w Docker Compose
Docker Compose to podstawowy element Docker, który jest często wykorzystywany do konfiguracji aplikacji wykonywanej na wielu kontenerach. Kompose dokera jest głównie wykorzystywane do konfigurowania usług kontenerów w „Yaml" plik. W konfiguracji usługi używane są różne klucze, „ujawnić" I "porty”Są specjalnie wykorzystywane do określania portu eksponującego dla kontenerów.

Ten zapis wyjaśni różnicę między portami i Expose Key w Docker Compose.

Różnica między Expose a Ports w Docker Compose

„„ujawnić" I "porty„Klawisze w Docker Compose są wykorzystywane do konfigurowania sieci i portów eksponujących dla kontenera. Jednak oba klucze są używane w tym samym celu, ale kluczową różnicą między „porty” i „Expose” jest to, że klucz Expose jest dostępny do usług podłączonych do tej samej sieci, ale nie na hosta. Natomiast porty są dostępne i publikowane zarówno na hoście, jak i w sieci podłączonej.

Sprawdzanie różnicy między klucze

Aby praktycznie sprawdzić różnicę między Expose a Ports, przejrzyj wymienione przykłady:

  • Spożytkować "porty”Klucz w pliku Docker-Compose
  • Spożytkować "ujawnić”Klucz w pliku Docker-Compose

Przykład 1: Użyj klawisza „portów” w pliku Docker-Compose

„„porty„Klucz jest wykorzystywany do publikowania kontenera na komputerze hosta. Te kontenery są dostępne dla wszystkich usług, które wykonują również na hoście, również w połączonej sieci.

Aby użyć klawisza „Ports” w Docker Compose, sprawdź podane instrukcje.

Krok 1: Utwórz „kompozycję dokera.YML ”

Zrobić "Kompozycja dokera.yml”Plik i wklej poniższy blok kodu w pliku:

Wersja: „3”
Usługi:
sieć:
Zdjęcie: nginx: najnowszy
Porty:
- 8080: 80

Według powyższego fragmentu:

  • "sieć„Usługa jest skonfigurowana w„Kompozycja dokera.yml" plik.
  • "obraz”Definiuje obraz podstawowy dla kontenera komponowania
  • "porty”Określ port eksponujący kontenera w sieci i hosta:

Krok 2: Rozpocznij kontenery

Następnie utwórz i odpal kontener komponowany za pomocą „Komposowanie dokera" Komenda:

> Docker -compose up -d

Krok 3: Lista kontener komponują

Wymień kontener i zweryfikuj port wystawiający kontenera. Z wyjścia można zauważyć, że opublikowaliśmy kontener na hoście:

> Ps-kompose dokera

Przykład 2: Użyj klucza „Expose” w pliku Docker-Compose

Aby wykorzystać klucz Expose w „Kompozycja dokera.yml”Plik, spójrz na podane instrukcje.

Krok 1: Utwórz „kompozycję dokera.YML ”

Teraz skonfiguruj „sieć„Usługa po ujawnieniu portu 80 za pomocą„ujawnić" klucz. Tutaj nie zdefiniowaliśmy żadnej sieci dla kontenera:

Wersja: „3”
Usługi:
sieć:
Zdjęcie: nginx: najnowszy
ujawnić:
- 8080: 80

Krok 2: Uprzepustuj pojemnik

Następnie utwórz i uruchom kompozycję kontenera, aby uruchomić usługę internetową za pomocą dostarczonego polecenia:

> Docker -compose up -d

Krok 3: Lista kontener komponują

Wymień kontener komponujący i sprawdź port eksponujący kontenera. Z poniższego wyjścia można zauważyć, że kontener jest dostępny tylko w porcie 80 w domyślnej wybranej sieci, ale nie na hosta:

> Ps-kompose dokera

Zdefiniowaliśmy rozróżnienie „ujawnić" I "porty„Klucze w Docker Compose.

Wniosek

„„ujawnić" I "porty”Obaj są używane do określenia portu eksponującego kontenera do uruchamiania zdefiniowanych usług. Główną różnicą między tymi dwoma klawiszami jest to, że „porty” są publikowane i dostępne na komputerze hosta, a także w określonej sieci, podczas gdy „Expose” jest publikowana tylko w zdefiniowanej sieci i uzyskiwane przez usługi działające w tej samej sieciowej sieci. Ten zapis wykazał rozróżnienie między „porty” a „Expose” w Docker Compose.