Docker

Qual a diferença entre CMD e ENTRYPOINT no Dockerfile

2 de outubro de 2021

Qual a diferença entre CMD e ENTRYPOINT no Dockerfile

Neste artigo você vai aprender qual a diferença entre CMD e ENTRYPOINT em Docker, comandos que são frequentemente confundidos

diferença entre CMD e ENTRYPOINT capa

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!
Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x