Grunderna i containernätverk
Förstå Dockers standardnätverk och bridge-nätverk samt hur containrar hittar varandra.
Grunderna i containernätverk är en gratis lektion i Grunderna i Docker och DevOps på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Grunderna i Docker och DevOps, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Grunderna i Docker och DevOps innehåller totalt 4 lektioner.
Varför nätverk mellan containrar?
Containrar är isolerade som standard, vilket är bra för säkerhet och portabilitet. För att applikationer ska vara användbara behöver de dock ofta kommunicera med varandra och med omvärlden.
Det är här Docker-nätverk kommer in i bilden! Det gör att containrar kan kommunicera säkert och effektivt.

Dockers standardnätverk av typen bridge
När ni kör en container utan att ange ett nätverk ansluter Docker den automatiskt till standardnätverket av typen bridge. Nätverket heter bridge.
Containrar i det här nätverket kan kommunicera med varandra via sina IP-adresser och får även tillgång till internet.
Granska Docker-nätverk
Ni kan enkelt se alla Docker-nätverk som är tillgängliga på systemet. Kommandot docker network ls listar dem, och docker network inspect visar detaljerad konfiguration för ett specifikt nätverk.
Prova att lista era nätverk:
docker network lsIP-adresser för containrar
Varje container som är ansluten till ett bridge-nätverk (standard eller användardefinierat) tilldelas en egen unik IP-adress av Dockers interna DNS-server.
Den här IP-adressen gör att andra containrar i samma nätverk kan nå den. Låt oss se en containers IP-adress:
docker run --rm -it alpine ip aKommunikation i standardnätverket av typen bridge
I standardnätverket bridge kan containrar kommunicera med varandra via sina tilldelade IP-adresser. IP-adresser kan dock ändras, vilket gör den här metoden mindre tillförlitlig för dynamiska applikationer.
För bättre identifiering av containrar och kommunikation via namn är användardefinierade bridge-nätverk det moderna och rekommenderade alternativet.
Användardefinierade bridge-nätverk
Användardefinierade bridge-nätverk erbjuder betydande fördelar jämfört med standardnätverket:
- Automatisk DNS-upplösning: Containrar i samma användardefinierade nätverk kan hitta varandra via tjänstenamnet (containernamnet).
- Bättre isolering: De ger bättre isolering för era applikationer.
- Konfigurerbarhet: Ni får större kontroll över nätverksinställningarna.
Demo: Kommunicera via namn
Låt oss skapa ett anpassat nätverk, köra en Nginx-webbserver i det och sedan använda en annan container för att komma åt Nginx-servern via dess namn. Se hur enkelt det är!
docker network create my-app-net
docker run -d --name webserver --network my-app-net nginx
docker run --rm --network my-app-net alpine sh -c "apk add curl && curl -s http://webserver"
docker rm -f webserver
docker network rm my-app-netExponera portar för värddatorn
För att komma åt en containers tjänst från värddatorn eller ett externt nätverk måste ni publicera eller mappa dess port med flaggan -p eller --publish.
Exempelvis mappar -p 8080:80 värddatorns port 8080 till containerns port 80.
docker run -d --name my-webserver -p 8080:80 nginx
# To check, open http://localhost:8080 in your browser
# Then, clean up the container:
docker rm -f my-webserverAndra nätverksdrivrutiner
Utöver bridge-nätverk erbjuder Docker andra nätverksdrivrutiner för specifika användningsområden:
- Host: Containern delar värddatorns nätverksstack och förlorar därmed sin isolering.
- None: Containern har inga nätverksgränssnitt.
- Overlay: Används för Docker Swarm för att möjliggöra kommunikation mellan flera Docker-daemoner på olika värddatorer.
Varje drivrutin fyller ett unikt syfte i olika driftsättningsscenarier.
Nätverksutmaning
Vilka påståenden om Dockers standardnätverk bridge och användardefinierade bridge-nätverk är sanna?
Sammanfattning: Grunderna i nätverk
Vi har gått igenom grunderna i Docker-nätverk:
- Standardnätverket
bridgegör att containrar kan kommunicera via IP. - Användardefinierade bridge-nätverk föredras för automatisk DNS-upplösning via namn och bättre isolering.
- Vi har lärt oss hur containrar kan kommunicera med varandra och hur containerportar exponeras för värddatorn.
- Vi har även kort berört andra nätverksdrivrutiner som
hostochoverlay.
Att förstå nätverk är avgörande för att bygga sammankopplade containeriserade applikationer. Härnäst går vi igenom hur beständiga data hanteras med Docker-volymer!
Lär dig Grunderna i Docker och DevOps med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Grunderna i containernätverk” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Grunderna i Docker och DevOps, inklusive ”Grunderna i containernätverk”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Grunderna i Docker och DevOps innehåller totalt 4 lektioner.
Vad lär jag mig i ”Grunderna i containernätverk”?
Förstå Dockers standardnätverk och bridge-nätverk samt hur containrar hittar varandra. Ni övar på Grunderna i Docker och DevOps med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Grunderna i Docker och DevOps?
Du behöver inga förkunskaper. Utbildningen i Grunderna i Docker och DevOps på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Grunderna i containernätverk”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Grunderna i Docker och DevOps-lektionen?
Ja. Varje Grunderna i Docker och DevOps-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Grunderna i containernätverk
- Docker-volymer för beständig lagring
- Bind mounts och tmpfs-mounts
- Egna bridgenätverk och tjänsteidentifiering