Nätverk är en viktig aspekt av Docker det som gör det möjligt container
att kommunicera med varandra och med det externa nätverket. Här är en detaljerad guide om hur du ansluter och hanterar nätverk i Docker:
Standardbryggnätverk
Docker tillhandahåller ett standardnätverk som bridge
kallas container
. När du skapar ett container utan att ange ett nätverk kopplas det automatiskt till standardnätverket bridge
.
Container s på samma bridge
nätverk kan kommunicera med varandra med sina interna IP-adresser. Docker tillhandahåller DNS-upplösning för att tillåta container kommunikation via domännamn.
Container
Länkar
Genom att använda --link
alternativet kan du länka en container
till en annan, vilket möjliggör kommunikation mellan dem med hjälp av den länkades container namn eller miljövariabler.
Till exempel, när du kör en container
från en bild som heter webapp
, kan du länka den till en MySQL container som heter mysql
med följande kommando: docker run --name webapp --link mysql:mysql webapp-image
Anpassade nätverk
Du kan skapa anpassade nätverk Docker för att tillåta container s inom samma nätverk att kommunicera.
Använd docker network create
kommandot för att skapa ett anpassat nätverk. Till exempel, för att skapa ett nätverk med namnet my-network
, kan du använda kommandot: docker network create my-network
Ansluta Container
till anpassade nätverk
När du skapar en container
, använd --network
alternativet för att ansluta container
till ett anpassat nätverk.
Till exempel, för att koppla ett container
till nätverket "mitt nätverk", kan du använda kommandot: docker run --network my-network my-image
Ansluter Container
till värdnätverket
Använd alternativen --publish
eller --publish-all
för att ansluta container
portar till portar på värddatorn eller till slumpmässiga portar på värden.
Till exempel, för att ansluta port 80 av a container
till port 8080 på värden, kan du använda kommandot: docker run -p 8080:80 my-image
Genom att använda nätverksfunktionerna i Docker kan du hantera anslutningen och kommunikationen mellan container
och nätverk i din Docker miljö. Detta ger en flexibel och skalbar miljö för dina applikationer, vilket gör det möjligt components
att container
interagera med varandra och med det externa nätverket sömlöst.