IRONSOFTWAREHOME

Iron Suite for .NET

10 bibliotek .NET. Jeden kompletny pakiet dokumentów.

IRONPDF
IRONWORD
IRONXL
IRONPPT
IRONOCR
IRONBARCODE
IRONQR
IRONPRINT
IRONZIP
IRONWEBSCRAPER
KORZYSTANIE Z IRONSECUREDOC

Sieć Docker Compose (jak działa dla programistów)

Curtis Chau
Curtis Chau
Updated: 28 czerwca 2026

Czym jest Docker?

Docker to platforma typu open source, która wykorzystuje koncepcje oparte na kontenerach do automatyzacji wdrażania i skalowania aplikacji w lekkich, przenośnych kontenerach. Mówiąc prościej, kontener Docker łączy cały kod aplikacji i jej zależności w jedną jednostkę, spójną we wszystkich środowiskach — od laptopa programisty po serwer testowy lub produkcyjne serwery w chmurze.

Docker Compose Network (jak to działa dla programistów): Rysunek 1

Kontenery nie działają jak tradycyjne maszyny wirtualne (VM), ponieważ współdzielą jądro systemu operacyjnego systemu hosta. Dlatego kontenery są znacznie wydajniejsze i szybciej się uruchamiają. Rzeczywiście, kontenery Docker gwarantują spójne działanie na wszystkich etapach cyklu rozwoju.

W rzeczywistości obrazy Docker to szablony opisów kontenerów, w których znajduje się środowisko aplikacji. Zestaw ten zawiera również zestawy narzędzi do zarządzania cyklem życia kontenerów. Jednym z przykładów jest Docker Compose, którego można używać do koordynowania aplikacji składających się z wielu kontenerów. Jest też Docker Hub, rejestr służący do udostępniania obrazów.

Czym są sieci Docker Compose?

Sieci Docker Compose umożliwiają usługom działającym w aplikacji Docker Compose komunikowanie się ze sobą w ramach tych samych hermetycznych środowisk. Jeśli zdefiniujesz więcej niż jedną usługę w pliku docker-compose.yml, Docker Compose automatycznie tworzy domyślną sieć, aby te usługi mogły komunikować się ze sobą przy użyciu nazw usług jako nazw hostów. Zasadniczo pozwala to użytkownikowi zdefiniować własną sieć i wiele usług w ramach utworzonej sieci.

Domyślna sieć mostowa: Jeżeli nie zdefiniujesz żadnej sieci dla swoich kontenerów podczas uruchamiania docker-compose up, Docker automatycznie tworzy sieć mostową. Wszystkie kontenery mogą komunikować się ze sobą, używając nazwy usługi jako nazwy hosta w tej domyślnej sieci sterowników.

Sieci niestandardowe: Dzięki tym opcjom użytkownicy mogą zdefiniować jedną lub dwie sieci niestandardowe, a nawet więcej jako sieci zdefiniowane przez użytkownika. Możesz zdefiniować niestandardowe sieci w zasięgu portu kontenera i pliku docker-compose.yml. Przypisując usługi do tych sieci, kontrolujesz, jak kontenery mogą się komunikować:

  • Sieci wewnętrzne izolują usługi od innych.
  • Sieci wielokrotne umożliwiają niektórym usługom komunikację między sobą, jednocześnie odmawiając takiego dostępu innym.

Wykrywanie usług: Każda usługa otrzymuje nazwę hosta zgodną z jej nazwą w konfiguracji. To znaczy, możesz odnieść się do innej usługi w jednym kontenerze, używając nazwy tej innej usługi. Na przykład, w usłudze web użyjesz db, aby odnieść się do IP kontenera bazy danych.

Tryby sieciowe: Można również ustawić tryby sieciowe, aby korzystać z hosta, mostka lub braku połączenia dla usług. Najczęściej stosowanym rozwiązaniem jest most, który izoluje ruch kontenerowy.

Czym są sterowniki sieciowe Docker?

Sterowniki sieciowe Docker opisują połączenia i komunikację kontenerów między sobą oraz z innymi kontenerami i systemami. Istnieją różne przypadki użycia, a do tych przypadków można zastosować sterowniki sieciowe, z których każdy zapewnia inny poziom izolacji, łączności i wydajności. Omówimy każdy sterownik sieciowy i wyjaśnimy jego zastosowanie.

Rodzaje sterowników sieciowych Docker

Bridge (domyślnie)

Wewnętrzne sieci Docker umożliwiają kontenerom komunikację z innymi kontenerami w ramach jednego hosta. Jeśli uruchomisz kontenery bez określenia sieci, Docker użyje domyślnej sieci mostkowej.

# Create a custom bridge network
docker network create --driver bridge my_bridge_network

# Run containers and connect to the custom network
docker run -d --name container1 --network my_bridge_network busybox sleep 3600
docker run -d --name container2 --network my_bridge_network busybox sleep 3600
SHELL

Tutaj można używać nazw usług do komunikacji, jak ping container1 i container2.

Host

Dzięki sterownikowi hosta kontener bezpośrednio współdzieli stos sieciowy hosta, więc nie ma własnej, niestandardowej izolacji sieciowej.

# Run a container using the host network
docker run -d --network host nginx
SHELL

Kontejner NGINX korzysta teraz z adresu IP i interfejsów sieciowych hosta, omijając w ten sposób izolację sieciową.

Nakładka

Łączy kontenery na wielu hostach i jest używany głównie w środowiskach Docker Swarm lub Kubernetes, łącząc maszyny fizyczne lub wirtualne za pośrednictwem kontenerów w celu bezpiecznej komunikacji przy użyciu sieci wirtualnej.

# Create an overlay network for use in a Docker Swarm cluster
docker network create -d overlay my_overlay_network

# Deploy a service in the Swarm cluster
docker service create --name web --network my_overlay_network nginx
SHELL

Tworzy to usługę w klastrze Swarm, która może rozciągać się na wiele hostów Docker.

Brak

Ten sterownik wyłącza obsługę sieci dla kontenera. Ten kontener jest odizolowany od wszelkiego rodzaju zewnętrznej komunikacji sieciowej.

# Run a container with no network
docker run -d --network none busybox sleep 3600
SHELL

Kontener busybox nie będzie miał dostępu do Internetu i nie będzie mógł wysyłać połączeń do sieci innych kontenerów ani do świata zewnętrznego.

Macvlan

Sterownik Macvlan umożliwia kontenerom pojawianie się w sieci jako urządzenia fizyczne z własnymi adresami MAC, dzięki czemu mogą one uzyskać bezpośredni dostęp do sieci fizycznej.

# Create a Macvlan network
docker network create -d macvlan \
  --subnet=192.168.1.0/24 \
  --gateway=192.168.1.1 \
  -o parent=eth0 macvlan_network

# Run a container on the Macvlan network
docker run -d --network macvlan_network busybox sleep 3600
SHELL

IPvlan

Sterownik IPvlan jest podobny do Macvlan, ale skupia się na przypisywaniu adresów IP zamiast opierać się na warstwie 2 (adresy MAC). Umożliwia to współdzielenie tego samego interfejsu sieciowego przez wiele kontenerów.

# Create an IPvlan network
docker network create -d ipvlan \
  --subnet=192.168.1.0/24 \
  --gateway=192.168.1.1 ipvlan_network

# Run a container on the IPvlan network
docker run -d --network ipvlan_network busybox sleep 3600
SHELL

Będzie on współdzielił interfejs Ethernet warstwy 2 hosta z siecią, ale będzie miał inny adres IP.

Wtyczki niestandardowe

Niestandardowe wtyczki Docker to sterowniki sieciowe innych firm lub opracowane przez użytkowników, oferujące rozbudowane funkcje sieciowe, wykraczające poza to, co Docker oferuje domyślnie. Wtyczki Docker innych producentów mogą integrować się z zewnętrznymi frameworkami rozwiązań sieciowych, takimi jak Software-Defined Networking, poprawiając w ten sposób takie możliwości, jak bezpieczeństwo, skalowalność, a także obsługę sieci wielohostowej. Docker zapewnia programistom i dostawcom wszechstronną architekturę dla wtyczek sieciowych, umożliwiającą ich instalację i użytkowanie w taki sam sposób, jak w przypadku sterowników natywnych.

IronSecureDoc

IronSecureDoc dla Docker ułatwia programistom dodawanie funkcji bezpiecznego przetwarzania dokumentów do ich aplikacji kontenerowych. Dzięki Dockerowi możesz zamknąć swoją aplikację ASP.NET Core z IronSecureDoc w jednolitym środowisku, które ułatwia wdrażanie i skalowanie. Aby uruchomić aplikację, należy utworzyć plik Dockerfile, który komponuje aplikację ASP.NET Core przy użyciu biblioteki IronSecureDoc oraz ewentualnie innych skryptów instalacyjnych lub konfiguracji niezbędnych do działania.

Docker Compose Network (jak to działa dla programistów): Rysunek 2 - IronSecureDoc

Zawiera również plik docker-compose.yml składający się z zależności usług, zmiennych środowiskowych i mapowanych portów, tym samym zapewniając do tego dostęp. Dzięki temu zadania związane z bezpieczeństwem dokumentów stają się łatwiejsze do zarządzania, co pozwala na wydajne i skuteczne działanie aplikacji internetowej poza środowiskiem używanym podczas tworzenia lub produkcji. Aby w pełni wykorzystać wszystkie możliwości oferowane przez szyfrowanie dokumentów, redagowanie itp., konieczna będzie instalacja i konfiguracja IronSecureDoc, tak jak w przypadku Docker.

Instalacja i uruchomienie IronSecureDoc

Uruchom następujące polecenie w wierszu poleceń lub w otwartym oknie terminala, aby pobrać obraz Docker IronSecureDoc z repozytorium.

# Pull IronSecureDoc Docker image
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Docker Compose Network (jak to działa dla programistów): Rysunek 3

Po pobraniu obrazu z repozytorium Docker można użyć innego polecenia, aby uruchomić IronSecureDoc jako działający kontener.

# Run a container with network isolation and environment variables
docker container run --rm -p 8080:8080 \
  -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> \
  -e ENVIRONMENT=Development \
  -e HTTP_PORTS=8080 \
  ironsoftwareofficial/ironsecuredoc:latest
SHELL

Powyższe polecenie Docker run uruchomi instancję kontenera IronSecureDoc. Sieć mostkowa jest zakładana w celu izolacji sieci. To także umożliwia zewnętrzny dostęp do usług udostępnionych wewnątrz kontenera przez http://localhost:8080 za pomocą flagi -p 8080:8080; spowoduje to udostępnienie wewnętrznej usługi, działającej na porcie 8080 sieci kontenera, na porcie 8080 sieci hosta.

Kontenery domyślnie działają w sieci mostkowej Docker, więc izolują się od innych kontenerów i świata zewnętrznego, chyba że udostępnisz je poprzez mapowanie portów, co robisz tutaj. Przekazywane zmienne środowiskowe (IronSecureDoc_LicenseKey, ENVIRONMENT, HTTP_PORTS) konfigurują zachowanie aplikacji w kontenerze. Flaga --rm powoduje usunięcie kontenera, gdy zatrzyma się.

Taka konfiguracja ma tę zaletę, że sieć mostkowa izoluje kontener i łączy usługi wewnętrznie, podczas gdy mapowanie portów przekierowuje ruch zewnętrzny z komputera hosta do usługi kontenera, ułatwiając w ten sposób dostęp.

Docker Compose Network (jak to działa dla programistów): Rysunek 4

Korzystanie z IronSecureDoc z portem sieciowym Docker

Interfejs API REST IronSecureDoc umożliwia użytkownikom redagowanie, certyfikowanie i szyfrowanie dokumentów po zainstalowaniu i uruchomieniu w Dockerze. Aby uzyskać bardziej szczegółowe instrukcje, zapoznaj się z dokumentacją tutaj.

Na przykład, aby przesłać dokument do szyfrowania, można wykonać żądanie POST do interfejsu API IronSecureDoc:

# POST a document for encryption using cURL
curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
SHELL

To polecenie automatycznie prześle dokument do IronSecureDoc, gdzie zostanie odpowiednio zaszyfrowany.

Wnioski

Sieci Docker mają kluczowe znaczenie w kontrolowaniu interakcji aplikacji oraz ich komunikacji z innymi aplikacjami i resztą świata poprzez różne sterowniki i konfiguracje dostosowane do zróżnicowanych potrzeb aplikacji. Domyślna konfiguracja sieci mostkowej umożliwia podstawową izolację, ponieważ usługi mogą być udostępniane systemom hosta poprzez mapowanie portów, czego przykładem jest aplikacja IronSecureDoc. Ułatwia to zarządzanie i konfigurację aplikacji kontenerowych, zwiększając elastyczność operacyjną i skalowalność aplikacji.

IronSecureDoc, zaawansowane narzędzie do przetwarzania dokumentów, wykorzystuje możliwości Docker w zakresie konteneryzacji, umożliwiając szybkie i niezawodne wdrażanie aplikacji. Zapewnia to obsługę wielu środowisk przy jednoczesnej płynnej integracji sieci Docker z IronSecureDoc, dzięki czemu integracja aplikacji jest łatwa, dostępna i łatwa w zarządzaniu.

W rezultacie usprawnia to przepływ pracy, poprawia wydajność i usprawnia operacje, zwłaszcza podczas przetwarzania dokumentów. To ostatecznie wzbogaca zarówno doświadczenia związane z tworzeniem, jak i wdrażaniem oprogramowania, czyniąc je cennym rozwiązaniem dla nowoczesnych aplikacji. Więcej informacji na temat licencji IronSecureDoc można znaleźć na tej stronie. Aby dowiedzieć się więcej o wielu produktach oferowanych przez Iron Software, kliknij ten link.

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta