Um Dockerfile é um arquivo de texto usado para definir o processo de construção de uma imagem do Docker. Ele contém uma série de instruções e parâmetros usados para instruir o mecanismo do Docker a criar uma nova imagem na imagem base. A seguir está uma explicação detalhada da sintaxe do Dockerfile:
- Comentários :
#
comentários comportamentais que começam com , usados para fornecer instruções ou outras informações sobre a instrução. - Base Image : Use
FROM
a diretiva para especificar uma imagem base. Por exemplo:FROM ubuntu:latest
Indicaubuntu:latest
como a imagem base. - Informações do mantenedor : use
MAINTAINER
o comando para especificar as informações do mantenedor. Por exemplo:MAINTAINER John Doe <[email protected]>
. - Variáveis de ambiente : use
ENV
diretivas para definir variáveis de ambiente. Por exemplo:ENV key=value
defina umakey
variável de ambiente chamada , e defina seu valor comovalue
. - Diretório de Trabalho : Use
WORKDIR
a diretiva para definir o diretório de trabalho. Por exemplo:WORKDIR /app
significa definir o diretório de trabalho como/app
. - Copiar arquivos : use
COPY
diretivas para copiar arquivos ou diretórios do contexto de construção para a imagem. Por exemplo: CopieCOPY src /app/src
um diretório localsrc
para um diretório no espelho/app/src
. - Adicionar arquivos : use
ADD
diretivas para copiar arquivos ou diretórios do contexto de construção para a imagem. Semelhante aoCOPY
, masADD
também suporta a descompactação automática de arquivos e URLs remotos. Por exemplo:ADD archive.tar.gz /app
descompactearchive.tar.gz
e copie os arquivos para um diretório na imagem/app
. - Executar Comando : Use
RUN
comandos para executar comandos na imagem. Por exemplo:RUN apt-get update && apt-get install -y package
significa executar o comando no espelhoapt-get
para atualizar o pacote e instalar o especificadopackage
. - Expor portas : use
EXPOSE
diretivas para declarar as portas nas quais o tempo de execução do contêiner escutará. Por exemplo:EXPOSE 80
Indica que o container irá escutar na porta 80. - Comando de inicialização do contêiner : use a diretiva
CMD
ouENTRYPOINT
para definir o comando a ser executado quando o contêiner for iniciado.CMD
Pode ser usado para fornecer um comando e parâmetros padrão eENTRYPOINT
para especificar o comando a ser executado. Por exemplo:CMD ["python", "app.py"]
Indica que o comando é executado quando o container é iniciadopython app.py
. - Construa um espelho : use
docker build
o comando para construir um espelho de acordo com o Dockerfile. Por exemplo:docker build -t image_name:tag .
construa o Dockerfile no diretório atual em uma imagem nomeadaimage_name
e marcadatag
.
A descrição acima é a sintaxe básica do Dockerfile. Ele fornece diversas instruções e opções que podem ser usadas para personalizar e configurar o processo de criação de imagens do Docker. Você pode usar instruções diferentes para criar imagens personalizadas do Docker de acordo com suas necessidades.