Usados para indicar como quer executar a imagem.
Podem ser utilizdos juntos.
A recomendação é semrpe utilziar a forma 'exec' da instrução.
ENTRYPOINT permite configurar um executável para o seu container.
Geralmente é usado em cenários onde se deseja que o container se comporte exclusivamente como se o execuável estivesse encapsulado. Não se deseja que o suuário substituia o padrão do executável.
Exemplo: ENTRYPOINT 'comando' >> formato shell || CMD ["executavel", "parametro"] >> formato exec
ENTRYPOINT ping localhost
ENTRYPOINT ["ping", "localhost"]
CMD provê um padrão para executar o container.
É recomando utilizar quando quer dar uma flexibildiade para o usuário, ou seja, o usuário poder indicar quel comando quer executar quando rodar o container.
Exemplo: CMD 'comando' >> formato shell || CMD ["executavel", "parametro"] >> formato exec
CMD ping localhost
CMD ["ping", "localhost"]