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

Hospedagem que aguenta seu projeto crescer
Hospedagem recomendada

Hospedagem que aguenta seu projeto crescer

Hospedagem rápida, painel simples, backups automáticos e suporte 24/7 em português.

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!

Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Claude Code

Formação Claude Code

Domine Claude Code do absoluto zero até o avançado

  • 116 aulas
  • 4 projetos
  • 9h 23min

Blog | Mais populares