Xarxa de docker 101

Aprenem la xarxa de Docker ….


Hi ha principalment cinc xarxes a docker: pont, host, overlay, cap i macvlan.

La xarxa de pont és la xarxa predeterminada del docker. El meu article anterior sobre l’arquitectura del docker ha estat introduïda a aquestes xarxes.

En aquest article, us mostraré la part pràctica de les xarxes de docker. Obtingueu informació sobre com podeu comprovar els detalls de la xarxa de docker, com connectar-vos a una xarxa, com crear la vostra xarxa i molt més. Per tant, comencem.

Sempre que executeu un contenidor docker, una trucada de xarxa de pont predeterminada atracador0 s’associa amb el contenidor tret que s’especifiqui cap altra xarxa. Per exemple, quan executi una comanda ifconfig, obtindreu els detalls de la xarxa docker0 de tipus pont juntament amb altres detalls de xarxa.

[correu electrònic protegit]: ~ $ ifconfig

docker0: banderes = 4099 mtu 1500

inet 172.17.0.1 netmask 255.255.0.0 emissió 172.17.255.255

èter 02: 42: f6: 59: 4a: 5f xqueuelen 0 (Ethernet)

Paquets RX 0 bytes 0 (0,0 B)

Errors RX 0 caiguts 0 canvis 0 marc 0

Paquets TX 0 bytes 0 (0,0 B)

Errors TX 0 caiguts 0 desviaments 0 portador 0 col·lisions 0

enp0s3: banderes = 4163 mtu 1500

inet 10.0.2.15 netmask 255.255.255.0 emissió 10.0.2.255

inet6 fe80 :: 763e: c0b4: 14df: b273 prefixlen 64 frameworkid 0x20

èter 08: 00: 27: 68: 64: 9a txqueuelen 1000 (Ethernet)

Paquets RX 2157 bytes 2132896 (2,1 MB)

Errors RX 0 caiguts 0 canvis 0 marc 0

Paquets TX 952 bytes 151610 (151,6 KB)

Errors TX 0 caiguts 0 desviaments 0 portador 0 col·lisions 0

enp0s8: banderes = 4163 mtu 1500

inet 192.168.56.102 netmask 255.255.255.0 emissió 192.168.56.255

inet6 fe80 :: 20a: 6c57: 839d: 2652 prefixlen 64 rangeid 0x20

èter 08: 00: 27: 53: 45: 82 txqueuelen 1000 (Ethernet)

Paquets RX 10597 bytes 1497146 (1,4 MB)

Errors RX 0 caiguts 0 canvis 0 marc 0

Paquets TX 12058 bytes 1730219 (1.7 MB)

Errors TX 0 caiguts 0 desviaments 0 portador 0 col·lisions 0

lo: banderes = 73 mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 :: 1 prefixlen 128 àmbit d’aplicació 0x10

loop txqueuelen 1000 (Local Loopback)

Paquets RX 1196 bytes 105396 (105,3 KB)

Errors RX 0 caiguts 0 canvis 0 marc 0

Paquets TX 1196 bytes 105396 (105,3 KB)

Errors TX 0 caiguts 0 desviaments 0 portador 0 col·lisions 0

Xarxa de fitxes

Executeu l’ordre ls per comprovar totes les xarxes que hi ha a l’amfitrió actual. Actualment, hi ha set xarxes actuals que inclouen pont, host i cap que es creen automàticament en instal·lar Docker. Depenent dels contenidors que publiqués en el passat, també hi ha detalls d’altres xarxes personalitzades.

[correu electrònic protegit]: ~ $ docker ls network

NOM D’INDICACIÓ DE XARXES ÀREA DE CONDUCTOR

fec751a6ae21 pont pont local

21943b20735d local docker_gwbridge bridge

host local amfitrió f51d1f3379e0

eixam de superposició d’entrada ppp8i7tvrxa0

pont local ba68f73abeed-app_default local

d466e75d86fa mean_default pont local

5e5d9a192c00 cap local nul

Inspecció de la xarxa

Podeu executar l’ordre inspect per obtenir tots els detalls sobre un tipus de xarxa. Dóna informació sobre la xarxa que inclou nom, identificació, temps creat, abast, controlador, detalls de configuració, com ara la subxarxa i l’adreça de la passarel·la. També donaré detalls del contenidor si hi ha algun contenidor que funciona. En cas contrari, retornarà una cadena buida.

[correu electrònic protegit]: ~ $ docker network inspeccionar pont

[

{

"Nom": "pont",

"Identificador": "fec751a6ae21f20a06cdc6eb823e773caec063b6bf9a388016594e59fd1db475",

"Creat": "2019-08-01T10: 30: 27.595054009-04: 00",

"Àmbit d’abast": "local",

"Conductor": "pont",

"EnableIPv6": fals,

"IPAM": {

"Conductor": "per defecte",

"Opcions": nul,

"Configura": [

{

"Subxarxa": "172.17.0.0/16",

"Porta d’entrada": "172.17.0.1"

}

]

},

"Intern": fals,

"Atacable": fals,

"Perjudicar": fals,

"ConfigFrom": {

"Xarxa": ""

},

"ConfigOnly": fals,

"Contenidors": {},

"Opcions": {

"com.docker.network.bridge.default_bridge": "cert",

"com.docker.network.bridge.enable_icc": "cert",

"com.docker.network.bridge.enable_ip_masquerade": "cert",

"com.docker.network.bridge.host_binding_ipv4": "0,0,0,0",

"nom com.docker.network.bridge.bridge": "atracador0",

"com.docker.network.driver.mtu": "1500"

},

"Etiquetes": {}

}

]

Crea xarxa

Mitjançant l’ordre create, podeu crear la vostra pròpia xarxa. Cal esmentar el tipus de controlador amb –driver flag, a l’exemple que segueixo estic utilitzant tipus bridge.

[correu electrònic protegit]: ~ $ docker network create –driver bridge geekflare_network

08e0da91f6de6c640b1b6f8a8602973f310b8ee9b04961389b7dfda842ccc409

Executeu l’ordre ls per comprovar si s’ha creat la xarxa.

[correu electrònic protegit]: ~ $ docker ls network

NOM D’INDICACIÓ DE XARXES ÀREA DE CONDUCTOR

fec751a6ae21 pont pont local

21943b20735d local docker_gwbridge bridge

08e0da91f6de local geekflare_network bridge

host local amfitrió f51d1f3379e0

eixam de superposició d’entrada ppp8i7tvrxa0

pont local ba68f73abeed-app_default local

d466e75d86fa mean_default pont local

5e5d9a192c00 cap local nul

Ara publicaré un contenidor docker a la xarxa que he creat. Estic executant un contenidor de servidor simple d’apache a sota de l’ordre.

[correu electrònic protegit]: ~ $ docker run -it -d –network = geekflare_network httpd

38a0b0646da1a0045afcf7aa0cd6228b851f74107a6718bb19d599e896df1002

S’executa la comanda d’inspecció per comprovar tota la informació de geekflare_network. Podeu trobar els detalls del contenidor aquesta vegada en aquesta inspecció de la sortida; el nom del contenidor és decidit_dubinsky.

[correu electrònic protegit]: la xarxa $ docker inspecciona geekflare_network

[

{

"Nom": "geekflare_network",

"Identificador": "08e0da91f6de6c640b1b6f8a8602973f310b8ee9b04961389b7dfda842ccc409",

"Creat": "2019-09-03T13: 56: 36.244295204-04: 00",

"Àmbit d’abast": "local",

"Conductor": "pont",

"EnableIPv6": fals,

"IPAM": {

"Conductor": "per defecte",

"Opcions": {},

"Configura": [

{

"Subxarxa": "172.21.0.0/16",

"Porta d’entrada": "172.21.0.1"

}

]

},

"Intern": fals,

"Atacable": fals,

"Perjudicar": fals,

"ConfigFrom": {

"Xarxa": ""

},

"ConfigOnly": fals,

"Contenidors": {

"38a0b0646da1a0045afcf7aa0cd6228b851f74107a6718bb19d599e896df1002": {

"Nom": "decidit_dubinsky",

"EndpointID": "30d252720e0f381ba01d6f5414525dff8587abcf3c4920100f112898a52c8a23",

"Adreça MAC": "02: 42: ac: 15: 00: 02",

"Direcció IPv4": "172.21.0.2/16",

"Adreça IPv6": ""

}

},

"Opcions": {},

"Etiquetes": {}

}

]

Desconnecta la xarxa

Per desconnectar de la xarxa del contenidor, executeu la comanda següent. Cal esmentar el nom de xarxa i el nom del contenidor a l’ordre de desconnexió.

[correu electrònic protegit]: ~ $ docker xarxa desconnectar geekflare_network determinat_dubinsky

Aquesta xarxa ja no tornarà a funcionar amb un contenidor determinat_dubinsky; el camp del contenidor estarà buit.

[correu electrònic protegit]: la xarxa $ docker inspecciona geekflare_network

[

{

"Nom": "geekflare_network",

"Identificador": "08e0da91f6de6c640b1b6f8a8602973f310b8ee9b04961389b7dfda842ccc409",

"Creat": "2019-09-03T13: 56: 36.244295204-04: 00",

"Àmbit d’abast": "local",

"Conductor": "pont",

"EnableIPv6": fals,

"IPAM": {

"Conductor": "per defecte",

"Opcions": {},

"Configura": [

{

"Subxarxa": "172.21.0.0/16",

"Porta d’entrada": "172.21.0.1"

}

]

},

"Intern": fals,

"Atacable": fals,

"Perjudicar": fals,

"ConfigFrom": {

"Xarxa": ""

},

"ConfigOnly": fals,

"Contenidors": {},

"Opcions": {},

"Etiquetes": {}

}

]

Per crear una xarxa que no sigui pont, heu d’esmentar el nom del conductor que no sigui el pont. Per crear una xarxa de superposició, executeu la comanda següent.

[correu electrònic protegit]: ~ $ docker network create –driver overlay geekflare_network_2

ynd2858eu1cngwhpc40m3h1nx

[correu electrònic protegit]: ~ $ docker ls network

NOM D’INDICACIÓ DE XARXES ÀREA DE CONDUCTOR

fec751a6ae21 pont pont local

21943b20735d local docker_gwbridge bridge

08e0da91f6de local geekflare_network bridge

host local amfitrió f51d1f3379e0

eixam de superposició d’entrada ppp8i7tvrxa0

pont local ba68f73abeed-app_default local

d466e75d86fa mean_default pont local

5e5d9a192c00 cap local nul

ynd2858eu1cn eixam de superposició geekflare_network_2

Per crear una xarxa d’amfitrió, esmenta l’amfitrió amb –driver flag. L’exemple següent retorna un error perquè només es permet una instància de xarxa host, que ja s’executava abans. Per tant, aquesta ordre no crearà una altra xarxa host.

[correu electrònic protegit]: ~ $ docker network create –driver host geekflare_network_3

Resposta d’error des del dimoni: només una instància de "amfitrió" xarxa està permesa

Conclusió

Tot això tractava de xarxes de docker i de com podeu connectar, desconnectar, crear i inspeccionar les xarxes de docker. Proveu aquestes ordres per familiaritzar-vos amb les xarxes de xarxa Docket. Si teniu curiositat en aprendre Net Devops, consulteu-ho Curs Udemy.

Tags:

  • Atracador

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map