Pular para o conteúdo principal

Questão de Segurança da Informação — Auditoria de Sistemas — FGV 2024

Segurança da InformaçãoAuditoria de Sistemas
Código
fg097440
Banca
FGV
Órgão
TCE-PA
Ano
2024
Nível
Superior
Cargo
Auditor de Controle Externo - Área de Informática - Analista de Segurança
O auditor de controle externo Amon foi encarregado de configurar um contêiner para a plataforma Grafana, especializada em análise e visualização de dados. Ele precisa criar e iniciar um novo contêiner Docker a partir da imagem grafana/grafana, executando-o em segundo plano. Além disso, Amon deseja nomear o contêiner como grafanatce e mapear as portas entre o contêiner e o host, onde a porta 3000 do contêiner será mapeada para a porta 8080 do host (sua máquina local).Assinale a opção que apresenta os comandos que atendem à essas especificações.
  1. Adocker run -d --name=grafanatce -P 8080:3000 grafana/grafana
  2. Bdocker run -d --name= grafanatce -p 3000:8080 grafana/grafana
  3. Cdocker run -D --name= grafanatce -p 3000: 8080 grafana/grafana
  4. Ddocker run -d --name= grafanatce -p 8080:3000 grafana/grafana
  5. Edocker run -d --name= grafanatce -P 3000:8080 grafana/grafana
Revelar gabarito e comentário

GabaritoD — docker run -d --name= grafanatce -p 8080:3000 grafana/grafana

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Docker: criando e iniciando contêineres com mapeamento de portas

Gabarito: letra D. O comando docker run -d --name=grafanatce -p 8080:3000 grafana/grafana atende a todos os requisitos: executa em segundo plano (-d), nomeia o contêiner (--name=grafanatce) e mapeia a porta 3000 do contêiner para a porta 8080 do host (-p 8080:3000). A sintaxe do mapeamento de portas no Docker é -p <porta_host>:<porta_contêiner>, e é exatamente isso que a alternativa D apresenta.

O comando docker run é o responsável por criar e iniciar um novo contêiner a partir de uma imagem. Vamos decompor cada parte do comando para entender o que cada flag faz:

  • -d (ou --detach): executa o contêiner em segundo plano, liberando o terminal. Sem essa flag, o contêiner roda em primeiro plano e o terminal fica preso aos logs.

  • --name=grafanatce: atribui um nome específico ao contêiner. Sem essa flag, o Docker gera um nome aleatório.

  • -p 8080:3000 (ou --publish): publica a porta do contêiner no host. A sintaxe é -p <porta_host>:<porta_contêiner>. Neste caso, a porta 3000 do contêiner (onde o Grafana escuta por padrão) é mapeada para a porta 8080 do host.

  • grafana/grafana: é o nome da imagem Docker que será usada para criar o contêiner.

A pegadinha clássica desta questão é a inversão da ordem das portas no mapeamento. Muitos candidatos confundem e escrevem -p 3000:8080, o que mapearia a porta 8080 do contêiner para a porta 3000 do host — exatamente o oposto do que foi pedido. A ordem é sempre host:contêiner.

Outra pegadinha é a diferença entre -p (minúsculo) e -P (maiúsculo). O -p permite especificar o mapeamento manualmente, enquanto o -P publica todas as portas expostas pela imagem em portas aleatórias do host. Como o enunciado pede um mapeamento específico, o correto é usar -p.

  1. 1-d: segundo plano
  2. 2--name: nomeia
  3. 3-p host:contêiner
  4. 4imagem grafana
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

O erro está no uso da flag -P (maiúscula). Ela publica todas as portas expostas pela imagem em portas aleatórias do host, ignorando o mapeamento específico 8080:3000. Além disso, a sintaxe -P 8080:3000 não é válida, pois a flag -P não aceita argumentos.

Alternativa B — ❌ Incorreta

O erro está na inversão da ordem das portas. -p 3000:8080 mapearia a porta 8080 do contêiner para a porta 3000 do host, mas o enunciado pede o contrário: porta 3000 do contêiner para porta 8080 do host. A ordem correta é host:contêiner, ou seja, -p 8080:3000.

Alternativa C — ❌ Incorreta

O erro está no uso da flag -D (maiúscula), que não é uma opção válida do docker run. A flag correta para executar em segundo plano é -d (minúscula). Além disso, há um espaço indevido em --name= grafanatce e em 3000: 8080, o que tornaria o comando inválido.

Alternativa D — ✅ Correta ⟵ GABARITO

O comando docker run -d --name=grafanatce -p 8080:3000 grafana/grafana atende a todos os requisitos do enunciado: executa em segundo plano (-d), nomeia o contêiner como grafanatce (--name=grafanatce) e mapeia a porta 3000 do contêiner para a porta 8080 do host (-p 8080:3000). A sintaxe está correta e a ordem das portas segue o padrão host:contêiner.

Alternativa E — ❌ Incorreta

O erro está no uso da flag -P (maiúscula), que publica portas aleatórias, e na inversão da ordem das portas. -P 3000:8080 não é uma sintaxe válida e, mesmo que fosse, mapearia a porta 8080 do contêiner para a porta 3000 do host, o que contraria o enunciado.

NÃO CAIA NESSA!

A banca explora duas confusões clássicas do Docker: (1) inverter a ordem das portas no mapeamento — o correto é sempre host:contêiner, então -p 8080:3000 significa "porta 8080 do host aponta para a porta 3000 do contêiner"; (2) trocar -p (minúsculo, mapeamento específico) por -P (maiúsculo, portas aleatórias). Nas alternativas A e E, o -P invalida o comando; na B, a ordem está invertida. Com esse raciocínio, você elimina as erradas de imediato 💪.

PEGA ESSA DICA!

Para não errar mais, memorize a ordem do mapeamento como "H antes do C" — Host antes do Contêiner. Na hora da prova, leia o enunciado e escreva primeiro a porta do host, depois a do contêiner. E lembre: -p é para mapeamento específico, -P é para portas aleatórias. Treine com questões que misturam essas duas flags para fixar.

Gabarito: letra D

Link permanente: /questoes/fg097440