GEEKS

Como executar vários contêineres do Docker em diferentes endereços IP

Publicidade
Como executar vários contêineres do Docker em diferentes endereços IP

O Docker facilita a execução de aplicativos usando soluções de nuvem sem servidor, mas muitas pessoas preferem gerenciar vários contêineres executados em algumas máquinas poderosas. Nesse caso, usar vários endereços IP pode ser uma ótima maneira de gerenciar vários serviços na mesma porta.

Como funcionam as interfaces de rede?

O Linux u.s. interfaces de rede para representar {hardware} físico, além de criar componentes de rede digital como VLANs, pontes ou aliases. Se você listar todos os dispositivos em seu sistema com ip addr displayvocê encontrará várias interfaces como eth0 e eno1 que representam conexões reais.

Os endereços IP são um sistema separado das interfaces de rede, mas, essencialmente, você pode ter vários endereços IP configurados em uma única interface, permitindo vincular serviços a soquetes de rede para cada IP:PORT combinação.

Publicidade

Isso funciona bem com o Docker, que permite lidar com a rede no nível do Docker em vez do nível do aplicativo. Com o Docker, o aplicativo dentro do contêiner pode apenas se vincular à “porta 80”, que é mapeada pelo Docker para um endereço IP específico no host.

Isso torna muito mais fácil separar a camada de aplicação do host que a está executando. Por exemplo, você pode ter vários serviços de API diferentes em execução na mesma máquina, sem configurar os contêineres subjacentes.

Não importa realmente para o Docker em qual interface do sistema o endereço IP está, pois a rede interna do Docker cuidará disso para você, desde que você inicie os contêineres com a configuração correta.

Executando vários dockers Serviços no mesmo servidor

Executar um contêiner em um endereço específico é muito fácil, dependendo de como você o inicia. Essencialmente, a maioria dos contêineres do Docker tem suas portas configuradas com o host:container formato. Por exemplo, 5000:80 pegaria a porta 80 do contêiner e a disponibilizaria na porta 5000 do host.

No entanto, você pode vincular soquetes diretamente, ou seja, em vez de 5000você pode substituir um IP:PORT par, usando três dois-pontos para toda a ligação:

docker run -it -d ipaddress:hostport:containerport --name internet nginx

Então, por exemplo, você pode ter dois contêineres NGINX em IPs diferentes, assim (lembre-se, o Docker precisa de nomes de contêiner separados):

docker run -it -d 123.0.0.1:80:80 --name internet nginx
docker run -it -d 123.0.0.2:80:80 --name web2 nginx

Se você estiver usando o Docker Compose, a configuração será semelhante. No ports seção para o serviço, você pode usar a mesma sintaxe para vincular a endereços específicos.

model: "3"
services and products:
  nginx:
    symbol: nginx
    restart: at all times  
    ports: 
      - "123.0.0.1:80:80"

Em ambos os casos, você pode criar vários serviços vinculados à porta 80 do host, desde que os serviços não escutem nos mesmos endereços IP.

Se você estiver fazendo isso, no entanto, você vai querer ter certeza de que nenhum contêiner está escutando apenas a porta — isso será uma configuração incorreta, pois omitir o endereço IP significa que ele escutará em todos os endereços dessa interface.

Como você obtém vários endereços IP?

A maioria dos servidores vem com apenas um único endereço IP, portanto, você pode ter que configurar outros por conta própria.

A configuração de vários IPs por servidor dependerá do host que você está usando. Por exemplo, a AWS tem seu serviço “Elastic IP”, que é gratuito se você estiver usando um IP por máquina. No entanto, se você quiser comprar endereços IP elásticos adicionais, poderá associá-los a qualquer servidor. Você vai pagar $ 3,65 por mês para cada um.

Alguns serviços permitem a compra única de endereços IP, como a OVH, que permite a compra de blocos até /24.

Se você deseja comprar blocos grandes e contíguos de endereço IP para você realmente possuir, você pode fazê-lo através de várias corretoras, embora isso geralmente incorra em uma grande taxa e seja principalmente para grandes organizações.

Depois de ter os endereços IP, cabe ao seu provedor de nuvem apontá-los para o seu endereço. No entanto, cabe a você configurar sua interface de rede para usá-la, usando uma ferramenta como netplan.



Fonte da Notícia: www.howtogeek.com

Publicidade

Osmar Queiroz

Osmar é um editor especializado em tecnologia, com anos de experiência em comunicação digital e produção de conteúdo voltado para inovação, ciência e tecnologia.

Artigos relacionados

Botão Voltar ao topo
vvjl slot