2
respostas

CMD vs ENTRYPOINT

Olá, gostaria de saber a diferença do CMD e do ENTRYPOINT. Qual ocasião devo usar um ou outro?

2 respostas

Oi, Gabriel, tudo bem?

A instrução CMD permite definir um comando padrão, que será executado apenas quando você executar o contêiner sem especificar um comando. Se o contêiner do Docker for executado com um comando, o comando padrão será ignorado. Se o Dockerfile tiver mais de uma instrução CMD, todas as instruções, exceto a última, serão ignoradas.

Já a instrução ENTRYPOINT permite configurar um contêiner que será executado como um executável. É semelhante ao CMD, porque também permite especificar um comando com parâmetros. A diferença é o comando ENTRYPOINT e os parâmetros não são ignorados quando o contêiner do Docker é executado com os parâmetros da linha de comando. (Existe uma maneira de ignorar ENTTRYPOINT, mas é improvável que você o faça.)

Espero ter te ajudado!

Eu li que se executar a aplicação com CMD e por algum motivo essa aplicação morrer, o contêiner continua suspenso, mas no caso de ENTRYPOINT o contêiner morrer junto com a aplicação. É verdade ?