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
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 lsOpret 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-netUndersø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-netKø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:7Navnebaseret 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 cacheNetvæ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:16Tilknyt 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 webFjern 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 webEksponering 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 nginxRyd 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 -fHurtigt tjek
Test din forståelse af tjenesteopdagelse.
Opsummering
Du har lært at oprette og administrere brugerdefinerede bridge-netværk:
docker network createopretter et isoleret netværk med DNS- Containere kan nå hinanden via navn eller
--network-alias connect/disconnecttilknytter 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å.
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
- Grundlæggende containernetværk
- Docker-volumes til persistent lagring
- Bind mounts og tmpfs mounts
- Brugerdefinerede bridge-netværk og service discovery