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"]
Por padrão, todo container quando executa as aplicações, ele executa com o usuário root.
EXPOSE informa ao Docker, para que o container escutar uma porta de rede específica
As configurações serão sobrescritas, quando utilizada a opção '-p' ao levantar um container com essa imagem.
Podem ser liberadas porta TCP ou UDP.
Exemplo: EXPOSE 'porta'
EXPOSE 80
EXPOSE 80/udp
USE muda o contexto de usuário, de um atual para um específico.
Indicado para aumentar a segurança do ambiente.
Exemplo: USE 'usuário'
USE myuser