Neste artigo você vai aprender qual a diferença entre CMD e ENTRYPOINT em Docker, comandos que são frequentemente confundidos
Fala programador(a), beleza? Bora aprender mais sobre os comandos do Dockerfile!
Precisamos entender que os comandos não fazem a mesma coisa, temos alguns comandos de Docker que são parecidos na execução, mas CMD e ENTRYPOINT não
Em ENTYRPOINT vamos ter um comando que sempre será executado quando o container iniciar
Já no CMD colocamos um argumento ‘default’, que será executado no ENTRYPOINT quando nada for especificado
Ou seja, eles se complementam, o CMD vai garantir a execução de ENTRYPOINT
Observe a seguinte imagem:
FROM ubuntu ENTRYPOINT ["top", "-b"] CMD ["-c"]
Se rodarmos desta maneira:
docker run -it --rm --name test top
Teremos as flags -b e -c sendo adicionadas ao comando top
E se rodarmos desta forma:
docker run -it --rm --name test top -H
Teremos o comando top sendo rodado com -b e -H, ou seja, -c foi substituído pelo que informamos
Se nada é passado, temos o argumento default de CMD sendo ativado no comando do ENTYRPOINT
Conclusão
Neste artigo aprendemos qual a diferença entre CMD e ENTRYPOINT em Docker
ENTRYPOINT é um comando que vai ser rodado sempre que um container iniciar
Já o CMD é um argumento default para o ENTRYPOINT informado, ou seja, se não passarmos nada no docker run, o CMD entra em ação
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!
Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias
O link acima contém um cupom de desconto para os cursos!