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.

Referências