Networking jest ważnym aspektem, Docker który pozwala container
komunikować się między sobą oraz z siecią zewnętrzną. Oto szczegółowy przewodnik dotyczący łączenia i zarządzania sieciami w Docker:
Domyślna sieć mostka
Docker zapewnia domyślną sieć o bridge
nazwie container
. Podczas tworzenia container bez określania sieci automatycznie dołącza się do bridge
sieci domyślnej.
Container w tej samej bridge
sieci mogą komunikować się ze sobą za pomocą swoich wewnętrznych adresów IP. Docker zapewnia rozpoznawanie DNS, aby umożliwić container komunikację za pośrednictwem nazw domen.
Container
Łączenie
Korzystając z tej --link
opcji, możesz łączyć się container
ze sobą, umożliwiając komunikację między nimi za pomocą container nazwy połączonego lub zmiennych środowiskowych.
Na przykład, uruchamiając container
z obrazu o nazwie webapp
, możesz połączyć go z MySQL container o nazwie mysql
za pomocą następującego polecenia: docker run --name webapp --link mysql:mysql webapp-image
Sieci niestandardowe
Możesz tworzyć niestandardowe sieci w Docker celu umożliwienia container komunikowania się s w tej samej sieci.
Użyj docker network create
polecenia, aby utworzyć niestandardową sieć. Na przykład, aby utworzyć sieć o nazwie my-network
, możesz użyć polecenia: docker network create my-network
Dołączanie Container
do sieci niestandardowych
Podczas tworzenia container
użyj --network
opcji dołączenia container
do niestandardowej sieci.
Na przykład, aby dołączyć container
do sieci „moja-sieć”, możesz użyć polecenia: docker run --network my-network my-image
Łączenie Container
z siecią hosta
Użyj opcji --publish
lub --publish-all
, aby połączyć container
porty z portami na komputerze hosta lub z losowymi portami na hoście.
Na przykład, aby połączyć port 80 a container
z portem 8080 na hoście, możesz użyć polecenia: docker run -p 8080:80 my-image
Korzystając z funkcji sieciowych programu Docker, możesz zarządzać łącznością i komunikacją między container
sieciami w swoim Docker środowisku. Zapewnia to elastyczne i skalowalne środowisko dla aplikacji, umożliwiając components
bezproblemową container
interakcję między nimi oraz z siecią zewnętrzną.