Um técnico deseja usar o Keycloak no Docker, instalado e em ...
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:
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.
Gabarito C
O comando docker run -p é um dos comandos mais fundamentais e frequentemente utilizados no Docker. Ele serve para criar e iniciar um novo contêiner a partir de uma imagem, e o -p (ou --publish) é usado especificamente para publicar portas do contêiner para o host.
O comando docker run executa uma imagem do Docker como um novo contêiner. Ele realiza várias etapas:
Verifica se a imagem existe localmente. Se não, ele a baixa do Docker Hub ou de outro registro.
Cria um novo contêiner a partir dessa imagem.
Aloca um sistema de arquivos para o contêiner.
Cria uma interface de rede para o contêiner.
Inicia o processo especificado na imagem.
O que faz o flag -p (ou --publish)?
O flag -p é essencial para permitir que serviços rodando dentro do contêiner sejam acessíveis do lado de fora do host Docker.
Propósito: Mapeia uma porta específica do contêiner para uma porta no host Docker. Isso permite que o tráfego de rede direcionado para a porta do host seja redirecionado para a porta correspondente no contêiner.
Vamos na fé!
Retroceder Nunca Render-se Jamais !
Força e Fé !
Fortuna Audaces Sequitur !
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo