Intensiv DevOps-uddannelse · Lektion

Brugerdefinerede bridge-netværk og service discovery

Opret brugerdefinerede bridge-netværk, så containere kan finde og kommunikere med hinanden via navn, og lær, hvordan Docker håndterer DNS-baseret service discovery

Lektion 4 af 413 trin

Brugerdefinerede bridge-netværk og service discovery er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvorfor et brugerdefineret netværk?

Standardnetværket bridge fungerer, men containere på det kan kun nå hinanden via IP-adresser. Et brugerdefineret bridge-netværk tilføjer automatisk DNS-baseret tjenesteopdagelse, så containere kan nå hinanden via navn.

  • Bedre isolation mellem appgrupper
  • Indbygget navneopslag
  • Containere kan tilknyttes og fjernes efter behov

Vis eksisterende netværk

Docker leveres med tre standardnetværk. Undersøg dem med docker network ls, før du opretter dit eget.

docker network ls

Opret et bridge-netværk

Brug docker network create. Uden et driverflag bruger Docker som standard driveren bridge, som er ideel til containere på én vært.

docker network create app-net

Undersøg netværket

docker network inspect viser undernettet, gatewayen og eventuelle tilknyttede containere som JSON. Det er praktisk til fejlfinding af IP-intervaller.

docker network inspect app-net

Kør containere på det

Tilknyt en container ved opstart med --network. Her starter vi en Redis-container, som andre kan finde via dens navn.

docker run -d --name cache --network app-net redis:7

Navnebaseret opdagelse

På et brugerdefineret netværk opløses containerens navn via Docker DNS. En app opretter blot forbindelse til værten cache på port 6379 i stedet for at lede efter en IP-adresse.

docker run -it --network app-net alpine ping -c 2 cache

Netværksaliaser

Giv en container et ekstra DNS-navn med --network-alias. Det er nyttigt, når flere containere svarer på ét logisk navn bag en round-robin-fordeling.

docker run -d --network app-net --network-alias db postgres:16

Tilknyt en kørende container

Du behøver ikke beslutte alt ved opstart. docker network connect tilknytter en allerede kørende container til et andet netværk.

docker network connect app-net web

Fjern tilknytningen fra et netværk

Omvendt fjerner docker network disconnect en container fra et netværk uden at stoppe den.

docker network disconnect app-net web

Eksponering eller publicering

Containere på det samme brugerdefinerede netværk kan frit kommunikere via alle porte. Hvis en tjeneste skal kunne nås fra værten, skal du publicere en port med -p hostPort:containerPort.

docker run -d --network app-net -p 8080:80 nginx

Ryd netværk op

Fjern et ubrugt netværk med docker network rm, eller ryd alle ubrugte netværk på én gang. Netværk med tilknyttede containere kan ikke fjernes, før containerne er væk.

docker network prune -f

Hurtigt tjek

Test din forståelse af tjenesteopdagelse.

Opsummering

Du har lært at oprette og administrere brugerdefinerede bridge-netværk:

  • docker network create opretter et isoleret netværk med DNS
  • Containere kan nå hinanden via navn eller --network-alias
  • connect/disconnect tilknytter og fjerner containere efter behov
  • Publicér porte med -p, og ryd ubrugte netværk

Navnebaseret tjenesteopdagelse er grundlaget, som Compose automatisk bygger videre på.

Gratis at komme i gang

Lær Intensiv DevOps-uddannelse med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
142
Lektioner
568

Ofte stillede spørgsmål

Er lektionen “Brugerdefinerede bridge-netværk og service discovery” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Brugerdefinerede bridge-netværk og service discovery”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Brugerdefinerede bridge-netværk og service discovery”?

Opret brugerdefinerede bridge-netværk, så containere kan finde og kommunikere med hinanden via navn, og lær, hvordan Docker håndterer DNS-baseret service discovery Du øver dig i Intensiv DevOps-uddannelse med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Intensiv DevOps-uddannelse?

Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Brugerdefinerede bridge-netværk og service discovery”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Intensiv DevOps-uddannelse-lektion?

Ja. Alle Intensiv DevOps-uddannelse-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Grundlæggende containernetværk
  2. Docker-volumes til persistent lagring
  3. Bind mounts og tmpfs mounts
  4. Brugerdefinerede bridge-netværk og service discovery
← Tilbage til Intensiv DevOps-uddannelse