Introdução à rede do Docker: fluxo de trabalho, noções básicas de rede, comandos de rede
Publicados: 2020-04-30Índice
Introdução
Nesta era de virtualização, os administradores de rede não trabalham mais apenas em componentes tradicionais de rede, como roteadores, componentes LAN/WAN e switches. Eles precisam trabalhar em componentes de rede em plataformas de virtualização. Todo o setor de TI está interessado no conceito de conteinerização, onde fortes habilidades de rede são essenciais.
Como o Docker é um dos softwares de conteinerização mais usados, as habilidades de rede do Docker são importantes para configurar um contêiner. Atualmente, mais de 12.000 empresas usam contêineres Docker para enviar seus aplicativos . Essas empresas incluem JPMorgan Chase, ThoughtWorks e Neudesic.
Neste artigo, aprenderemos sobre a introdução ao Docker, os fundamentos da rede do Docker .
Vamos primeiro entender os fundamentos do Docker.
O que é Docker?
O Docker é uma plataforma de empacotamento de software que introduziu o conceito de conteinerização. A conteinerização é o processo pelo qual um aplicativo de software é empacotado com todas as suas dependências necessárias, como bibliotecas, módulos e sistema operacional. Isso torna o software facilmente executável em qualquer ambiente.
Esses pacotes de software são chamados de contêineres do Docker . Esses contêineres são usados para implantar o aplicativo em um ambiente específico. Pode ser um contêiner Ubuntu, contêiner CentOS, contêiner Tomcat-Ubuntu ou CakePHP.

Digamos que uma aplicação Java é criada para ser executada em um ambiente com um servidor Tomcat instalado. Após o desenvolvimento, o aplicativo é enviado para teste. Os testadores precisam configurar o servidor Tomcat novamente para executar o aplicativo. Em seguida, ele será enviado para o ambiente de produção, que novamente exigirá a configuração do mesmo ambiente.
Mas, um container Docker com o ambiente já dentro dele resolverá o problema de começar do zero. Assim, os desenvolvedores, testadores e membros da unidade de produção podem executar o aplicativo sem configurar o servidor Tomcat repetidamente.
Leia: Ideias e tópicos do projeto Docker
Fluxo de trabalho do Docker
O aplicativo ou o código do projeto é gravado em um arquivo do Docker . Este arquivo contém os requisitos e dependências do aplicativo. Esse arquivo produz uma imagem do Docker que é usada posteriormente para executar o código no arquivo.
Uma imagem contém o código, variáveis de ambiente, arquivos de configuração, tempo de execução e bibliotecas necessárias para executar o aplicativo. As imagens são então carregadas no Docker Hub , que é um repositório GIT que consiste em imagens do Docker. A partir desses repositórios, você pode buscar e fazer upload de suas próprias imagens do Docker.
Membros da equipe de Garantia de Qualidade ou da equipe de produção de uma empresa buscam as imagens para o desenvolvimento de seus contêineres. Como todos esses contêineres podem ser isolados uns dos outros, a rede do Docker é o conjunto de regras pelas quais eles interagem entre si.
Agora que você tem uma compreensão básica do Docker , vamos dar uma olhada mais de perto na rede do Docker .
Leia também: Salário Docker na Índia
Noções básicas de rede do Docker
Quando o Docker é instalado inicialmente, três redes Docker diferentes são configuradas – nenhuma, host e bridge. O none e o host são componentes importantes da pilha do Docker e não podem ser removidos. A rede de ponte pode ser configurada, conhecida como rede docker0.
O Docker pode ser usado para criar muitas redes. Você pode adicionar contêineres a mais de uma rede. Um contêiner conectado a várias redes pode se conectar aos contêineres dessas redes.
Os principais drivers de rede usados no Docker são os seguintes:
Ponte
Esta é a rede padrão privada criada no host pelo Docker. Uma sub-rede IP e um gateway são criados automaticamente por esta rede. Os contêineres pertencentes a esta rede fazem parte da mesma sub-rede. Portanto, os contêineres nesta rede se comunicam via endereçamento IP.
Os drivers de rede de ponte são muito úteis quando o aplicativo é executado em um contêiner autônomo. As instalações do Docker representam o docker0 por padrão. O Docker retornará o objeto JSON que descreverá a rede da ponte se você digitar o seguinte comando no console:

ponte de inspeção de rede docker
Hospedeiro
O driver Host é usado para contêineres autônomos . Se o modo de rede do host for usado para um contêiner, o isolamento entre o host do Docker e a pilha de rede será removido. O contêiner não obtém um endereço IP alocado.
Por exemplo, é executado um contêiner que se liga à porta 80 e a rede do host é usada. Neste caso, a aplicação do container estará disponível na porta 80 do endereço IP do host. Esse modo de rede é útil quando um contêiner manipula um grande número de portas.
Além disso, o driver do host permite que você execute vários contêineres da Web no mesmo host.
Nenhum
Nesse tipo de rede, os contêineres não têm acesso a redes externas e não são anexados a outros contêineres ou redes. Nenhum é usado quando você deseja desabilitar a pilha de rede em um contêiner específico.
Nenhum possui apenas uma interface de loopback, o que significa que não há interfaces de rede externas.
Sobreposição
Isso é usado para criar uma rede privada interna abrangendo todos os nós no cluster swarm. Uma rede docker swarm é um grupo de máquinas virtuais ou físicas que estão executando o aplicativo Docker. Esse driver de rede é importante na rede do Docker , pois permite a comunicação entre o contêiner autônomo e o serviço swarm.
Contêineres autônomos em diferentes daemons do Docker também podem interagir com esse driver. Portanto, você não precisa executar um roteamento no nível do sistema operacional para os contêineres.
Macvlan
Essa rede permite atribuir um endereço MAC a um contêiner. Isso faz com que ele apareça como um dispositivo físico. Usando esse endereço, o daemon do Docker roteia o tráfego para um roteador específico. Um daemon do Docker é um servidor que é executado no sistema operacional host e interage com ele para realizar diferentes atividades. Uma rede Macvlan simplifica a comunicação entre contêineres.
Macvlan é uma boa opção ao lidar com aplicativos legados que devem ser conectados à rede física. Se você estabelecer uma rede Macvlan, ela pode estar em dois modos – modo Bridge ou modo de ponte de tronco 802.1q.
Plug-ins de rede
Você pode usar um plug-in de rede de terceiros com o Docker. Esses plug-ins estão disponíveis no Docker Hub e podem ser obtidos por meio de fornecedores terceirizados.
Comandos de rede do Docker
Os comandos de rede do docker mais comuns são os seguintes:
Listar redes do Docker
Este código listará todas as redes Docker no host –
rede docker ls
Criando uma rede Docker
O comando a seguir ajudará você a criar uma rede antes de iniciar um contêiner:
rede docker criar –-driver nome do driver
Aqui, drivername é o nome dado ao driver de rede e Listar comandos de rede
Este comando é usado para listar os comandos de rede disponíveis:
ajuda da rede docker
Removendo uma rede
O comando rm pode ser usado para remover uma rede.
rede docker rm mynetwork
Conectando-se a uma rede Docker
Quando você cria uma rede do Docker, por padrão, ela é conectada à rede de ponte. O comando a seguir pode ser usado para conectar-se a outra rede ao executar o contêiner:
contêiner docker run -it –net=mynetwork nginx
Obtendo portas de contêiner

Você pode obter a porta do contêiner usando o comando port:
porta docker cotainer_name/id
Conclusão
O Docker é um aspecto crucial do desenvolvimento de software nos dias de hoje. À medida que mais e mais empresas estão migrando para a conteinerização, a rede é importante para isolar os contêineres. Isto permite o desenvolvimento de aplicações web que funcionam em conjunto de forma segura. Essas redes auxiliam na melhor comunicação entre os containers.
O Docker ajudou muitas empresas a melhorar seu tempo de implantação e reduzir os custos associados a ele. Portanto, se você é iniciante, este artigo será útil para entender os conceitos básicos da rede do docker .
Se você estiver interessado em aprender mais sobre desenvolvimento full stack, confira o PG Diploma in Full-stack Software Development da upGrad & IIIT-B, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos e atribuições, IIIT -B Status de ex-aluno, projetos práticos práticos e assistência de trabalho com as principais empresas.