Umrežavanje je važan aspekt Docker koji omogućuje container
međusobnu komunikaciju i komunikaciju s vanjskom mrežom. Ovdje je detaljan vodič o povezivanju i upravljanju mrežama u Docker:
Zadana mreža mosta
Docker bridge
pruža zadanu traženu mrežu container
. Kada stvarate container bez navođenja mreže, automatski se povezuje sa zadanom bridge
mrežom.
Container na istoj bridge
mreži mogu međusobno komunicirati koristeći svoje interne IP adrese. Docker pruža DNS razlučivost kako bi se omogućila container komunikacija putem naziva domena.
Container
Povezivanje
Korištenjem --link
opcije možete povezati jedan container
s drugim, omogućujući komunikaciju između njih koristeći container ime povezanog ili varijable okruženja.
Na primjer, kada pokrećete container
iz slike pod nazivom webapp
, možete je povezati s MySQL-om pod container nazivom mysql
pomoću sljedeće naredbe: docker run --name webapp --link mysql:mysql webapp-image
Prilagođene mreže
Možete stvoriti prilagođene mreže kako Docker biste omogućili container komunikaciju unutar iste mreže.
Koristite docker network create
naredbu za stvaranje prilagođene mreže. Na primjer, za stvaranje mreže pod nazivom my-network
, možete koristiti naredbu: docker network create my-network
Spajanje Container
na prilagođene mreže
Kada stvarate container
, upotrijebite --network
opciju za spajanje container
na prilagođenu mrežu.
Na primjer, da biste pridružili container
mreži "moja-mreža", možete koristiti naredbu: docker run --network my-network my-image
Povezivanje Container
s mrežom domaćina
Upotrijebite opcije --publish
ili --publish-all
za spajanje container
priključaka na priključke na glavnom računalu ili nasumične priključke na glavnom računalu.
Na primjer, za povezivanje priključka 80 od a container
na priključak 8080 na glavnom računalu, možete koristiti naredbu: docker run -p 8080:80 my-image
Korištenjem značajki umrežavanja u Docker, možete upravljati povezivanjem i komunikacijom između container
i mreža u vašem Docker okruženju. Ovo pruža fleksibilno i skalabilno okruženje za vaše aplikacije, dopuštajući nesmetanu interakciju components
unutar jedne s drugom i s vanjskom mrežom. container