Instruções no Dockerfile
Resumo
As instruções são fundamentais para definir como a imagem Docker deve ser construída e como o contêiner resultante deve se comportar. Elas permitem configurar o ambiente de execução da aplicação de forma precisa e eficiente.
Ao escrever um Dockerfile, você utiliza diferentes instruções (comandos) para definir como a imagem Docker deve ser construída e como o contêiner resultante deve se comportar. Cada instrução representa uma camada na imagem resultante.
FROM
A instrução FROM
é utilizada para especificar a imagem base a ser utilizada para construir a nova imagem. Ela deve ser a primeira instrução em um Dockerfile.
RUN
A instrução RUN
é utilizada para executar comandos dentro do contêiner durante o processo de construção da imagem. Por exemplo, você pode usar o RUN
para instalar pacotes, configurar o ambiente, ou executar qualquer outro comando necessário durante a construção da imagem.
LABEL
A instrução LABEL
é utilizada para adicionar metadados à imagem, como o mantenedor, nome do projeto, versão, entre outros. Esses metadados são úteis para documentação e organização, mas não afetam a construção da imagem em si.
CMD
A instrução CMD
é utilizada para definir o comando padrão a ser executado quando o contêiner for iniciado. Você pode especificar um comando e seus parâmetros. É importante notar que o CMD
pode ser substituído por um comando passado como argumento ao iniciar o contêiner.
EXPOSE
A instrução EXPOSE
é utilizada para expor portas do contêiner para o host. Isso permite que serviços dentro do contêiner sejam acessíveis de fora.
ENV
A instrução ENV
é utilizada para definir variáveis de ambiente dentro do contêiner. Isso pode ser útil para configurar o ambiente de execução da aplicação.
ADD
A instrução ADD
é utilizada para adicionar arquivos e diretórios locais ao sistema de arquivos da imagem. Ela também pode ser usada para baixar arquivos remotos e descompactar arquivos compactados.
COPY
A instrução COPY
é semelhante à instrução ADD
, mas é usada exclusivamente para copiar arquivos e diretórios locais para o sistema de arquivos da imagem.
ENTRYPOINT
A instrução ENTRYPOINT
é utilizada para configurar o contêiner para ser executado como um executável. Ela define o comando padrão a ser executado quando o contêiner for iniciado, mas também permite a substituição desse comando ao iniciar o contêiner.
VOLUME
A instrução VOLUME
é utilizada para definir volumes no contêiner. Volumes são usados para persistir dados gerados ou usados pelo contêiner, mesmo após ele ser encerrado.
WORKDIR
A instrução WORKDIR
é utilizada para definir o diretório de trabalho dentro do contêiner. Isso significa que todos os comandos seguintes serão executados nesse diretório, e o diretório será criado se ainda não existir.