Questão nº 62
Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 62)
Carla precisa integrar dois serviços criados com tecnologia
Node.js: o primeiro é um backend na arquitetura REST e o
segundo, um frontend que consome os serviços do primeiro. Os
serviços executam no Docker, respectivamente, através dos
contêineres back001 e front001, e apenas front001 oferece
acesso no ambiente externo ao Docker.
Para integrá-los, Carla criou a rede virtual net001 no Docker e
adicionou back001 e front001 a essa rede, utilizando os
comandos:
- Adocker add network -d bridge net001
docker connect --network net001 back001
docker connect --network net001 front001 - Bdocker config network -a net001
docker run -itd --network net001 [back001, front001] - Cdocker network new -d bridge net001
docker network connect net001 back001
docker network connect net001 front001 - Ddocker network create -d bridge net001
docker run -itd --network net001 back001
docker run -itd --network net001 front001 (alternativa correta) - Edocker add network -d bridge net001
docker run -itd --network net001 [back001, front001]
Resposta comentada
Gabarito Alternativa D
Para que contêineres Docker (pequenos ambientes isolados para rodar aplicações) possam se comunicar entre si, eles precisam estar na mesma rede virtual. Criar uma rede personalizada (user-defined network) é a melhor prática para que os contêineres possam se encontrar pelo nome.
- (A) Incorreta: O comando
docker add networknão existe; o correto para criar uma rede édocker network create. Além disso,docker connect --networknão é o comando para conectar contêineres a uma rede; o correto édocker network connect. - (B) Incorreta: O comando
docker config networknão é usado para criar redes;docker configé para gerenciar configurações do Docker Swarm. A sintaxe[back001, front001]paradocker runtambém está incorreta, poisdocker runcria um contêiner por vez. - (C) Incorreta: O comando
docker network newnão existe; o correto para criar uma rede édocker network create. Emboradocker network connectseja o comando correto para adicionar contêineres já existentes a uma rede, a primeira parte do comando está errada. Armadilha da banca:docker network newé um distrator tentador porque "new" (novo) soa como "create" (criar), mas a sintaxe exata é crucial no Docker. - (D) Correta: O comando
docker network create -d bridge net001cria corretamente uma rede virtual chamadanet001usando o driverbridge(o tipo mais comum para redes de contêineres). Em seguida,docker run -itd --network net001 back001edocker run -itd --network net001 front001iniciam os contêineresback001efront001(assumindo que são nomes de imagens ou referências a contêineres a serem criados) e os conectam diretamente à redenet001no momento da criação, permitindo que se comuniquem. - (E) Incorreta: O comando
docker add networknão existe. A sintaxe[back001, front001]paradocker runtambém está incorreta.
Fonte: FGV TRF1 2024 Analista Judiciário - Análise de Sistemas de Informação (Caderno Tipo 1). Reproduzida para fins de estudo.