21/10/2023

Docker - Networking

Existem 3 tipos de rede por defeito no Docker: Bridge, None e Host.

Bridge - docker run ubuntu

O Docker cria esta rede privada interna por defeito no anfitrião (host, máquina virtual ou computador físico onde está a correr o Docker) e todos os containers obtêm um IP interno normalmente na gama 172.17.x.x. Os containers ligam-se uns aos outros usando esta rede interna.

Para as redes externas se ligarem a estes containers é preciso mapear portos de rede entre si (anfitrião:80 <-->container:8080).


None - docker run ubuntu --network=none

Os containers estão desligados de qualquer rede estando completamente isolados.


Host - docker run ubuntu --network=host

Outra forma de redes externas obterem acesso aos containers é associar o container à rede do anfitrião quebrando-se desta forma o isolamento que existe entre o anfitrião e o container. Assim, qualquer aplicação a correr no container num porto qualquer fica imediatamente exposto ao exterior no mesmo porto.


Por defeito o Docker cria uma rede interna para os containers comunicarem entre si na gama 172.17.x.x. É possível criar outra rede interna, noutra gama, com o seguinte comando:

$ docker network create --driver bridge --subnet 10.10.0.0/16 custom-isolated-network


DNS

Os containers conseguem comunicar entre si usando o seu nome que por sua vez é um nome DNS no servidor de nomes embebido no Docker.

Quando queremos que uma aplicação num container, aceda a outra noutro container, no mesmo Docker Host, podemos usar o IP interno (por exemplo: 172.17.0.3 <--> 172.17.0.8). Mas a forma mais correta é usar o nome do container, uma vez que ao reiniciar o container, este pode não assumir o mesmo IP.

O servidor DNS embebido no Docker é executado com o IP 127.0.0.11.


Share:

0 comments:

Vamos beber um café?

Your language

Categories

Actualizações (3) Aplicativos (8) Apple (1) AZ-104 (1) Azure (1) Bash/Shell (32) Berbicachos (5) CentOS (9) CM (17) Containers (1) Curiosidades (1) Debian (21) Dicas (2) Docker (2) encriptação (1) FreeBSD (1) Freenas (1) Gnome (5) Informação (20) Java (1) Jogos (1) Kde (5) Kubernetes (4) Kubuntu (25) LibreOffice (1) Linu (1) Linux (8) LinuxMint (7) LoadBalancer (1) MAC OS X (1) Monitorização (1) Multimédia (5) MySQL (7) openSuse (7) Opinião (3) Oracle Linux (1) Perl (1) PHP (4) Plugin (1) ppc (1) Rapidinhas (21) Redhat (2) Scripts (1) Segurança (2) Tutoriais (8) Ubuntu (28) Virtualizacao (6) Wine (1)

Popular Posts

Blog Archive

Aventux. Com tecnologia do Blogger.

Seguidores