Questão nº 42
Questão de Tecnologia da Informação · FCC TRT18 2022 (nº 42)
Um técnico deseja usar o Keycloak no Docker, instalado e em condições ideais.
```
I: 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin
quay.io/keycloak/keycloak:20.0.0 start-dev
```
Para iniciar o Keycloak exposto na porta local 8080, criando um usuário inicial admin, com senha admin, a lacuna I deve ser preenchida por:
- A`docker run -v`
- B`docker container start on port`
- C`docker run -p` (alternativa correta)
- D`docker start --port`
- E`docker container run -d port`
Resposta comentada
Gabarito Alternativa C
Quando você executa um contêiner Docker, para que um serviço dentro dele (como o Keycloak) seja acessível do seu computador, você precisa "publicar" ou "mapear" as portas do contêiner para as portas do seu hospedeiro.
(A) Incorreta: O comando `docker run` está correto para iniciar um novo contêiner, mas a flag `-v` é usada para montar volumes (compartilhar arquivos ou diretórios entre o hospedeiro e o contêiner), não para mapear portas.
(B) Incorreta: `docker container start` é usado para iniciar um contêiner que já foi criado e está parado, não para criar e executar um novo contêiner com configurações de porta. A sintaxe `on port` também não é um comando Docker válido para mapeamento de portas.
(C) Correta: A flag `-p` (ou `--publish`) é a forma padrão e correta de mapear portas ao iniciar um novo contêiner com `docker run`. O formato `HOST_PORT:CONTAINER_PORT` (neste caso, `8080:8080`) expõe a porta 8080 do contêiner na porta 8080 do seu hospedeiro.
(D) Incorreta: `docker start` é para iniciar contêineres existentes e não aceita a flag `--port` para mapeamento de portas. Mapeamento de portas é feito apenas no momento da criação/execução do contêiner com `docker run -p`.
(E) Incorreta: `docker container run` é equivalente a `docker run` e a flag `-d` executa o contêiner em segundo plano (detached mode), mas a palavra `port` sozinha não é a sintaxe correta para mapeamento de portas; seria necessário `-p HOST_PORT:CONTAINER_PORT`.
Fonte: FCC TRT18 2022 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.