Um técnico deseja usar o Keycloak no Docker, instalado e em ...

Próximas questões
Com base no mesmo assunto
Q2098318 Segurança da Informação

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: 

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Vamos analisar a questão passo a passo, começando pela alternativa correta, que é a letra C - docker run -p.

Para iniciar o Keycloak exposto na porta local 8080 e criar um usuário inicial admin com senha admin, precisamos utilizar um comando Docker adequado. A questão envolve conhecimento específico sobre o uso do Docker para rodar containers e a exposição de portas.

O comando correto é:
docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:20.0.0 start-dev

A opção C - docker run -p é a correta porque:

  • docker run: inicia um novo container.
  • -p 8080:8080: mapeia a porta 8080 do host para a porta 8080 do container.
  • -e KEYCLOAK_ADMIN=admin: define a variável de ambiente para o usuário administrador.
  • -e KEYCLOAK_ADMIN_PASSWORD=admin: define a variável de ambiente para a senha do administrador.

Agora vamos entender por que as outras alternativas estão incorretas:

A - docker run -v:
O comando -v é usado para mapear volumes, permitindo a persistência de dados entre o host e o container. Não é apropriado para expor portas, por isso está incorreto.

B - docker container start on port:
Esse comando não é válido no Docker. O correto para iniciar um container com mapeamento de porta é usar docker run -p. Além disso, a sintaxe "start on port" não existe no Docker.

D - docker start --port:
O comando docker start serve para iniciar containers que já foram criados anteriormente e não aceita a opção --port para mapear portas. Para mapear portas, utiliza-se docker run -p.

E - docker container run -d port:
A opção -d é usada para rodar o container em segundo plano (detached mode), mas a forma correta de mapear portas é -p 8080:8080. Além disso, "port" como argumento isolado não é reconhecido.

Espero que esta explicação tenha ajudado a compreender melhor os conceitos de Docker e como utilizá-los para iniciar containers corretamente.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

c-

todo cmd docker inicia com docker run

p especifica portas. no caso, 8080:8080

https://docs.docker.com/engine/reference/commandline/run/

A história não é bem assim "todo cmd docker inicia com docker run"

  • Antes Versão 1.13

Antes do docker 1.13, apenas o comando "docker run" estava disponível. 

Os comandos da CLI foram então refatorado. Isso foi feito para ter um agrupamento de comandos mais intuitivo, já que o número de comandos na época cresceu substancialmente.

  • Após Versão 1.13

Após a versão 1.13 a linha de comando foi reestruturada para ter a seguinte sintaxe:

docker <object> <command> <options>

Nesta sintaxe:

<object>indica o tipo de objeto do Docker que você manipulará. Isso pode ser um objeto container, image ou .networkvolume

<command>indica a tarefa a ser executada pelo daemon, ou seja, o comando executar.

<options>pode ser qualquer parâmetro válido que pode substituir o comportamento padrão do comando, como a "--publish" opção de mapeamento de porta.

Por isso, "docker container run" acaba sendo um comando válido.

Fonte: https://stackoverflow.com/questions/51247609/difference-between-docker-run-and-docker-container-run

meu pai amado quanta humilhação.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo