Entenda o que é DockerFile e como fazer um build

Entenda o que é DockerFile e como fazer um build

Com o crescimento da computação em nuvem e a diversidade de infraestruturas utilizadas por aplicações, ter flexibilidade para trabalhar é indispensável e saber o que é  DockerFile torna isso possível.

Um único arquivo capaz de fornecer instruções para a construção de ambientes dos mais variados níveis e complexidades, facilitando o trabalho em equipe e garantindo que todos estejam trabalhando sob as mesmas configurações.

Descubra neste artigo o que é o DockerFile e como fazer um build para começar os trabalhos.

O que é DockerFile

O DockerFile é uma maneira de criar imagens para execução de containers Docker, com instruções personalizadas e que podem ser modificadas posteriormente, conforme a necessidade.

O arquivo DockerFile é uma estrutura contendo instruções executadas em top-down, que ao final da execução, deixam o container pronto para uso.

A estrutura do DockerFile

Agora que você já sabe o que é dockerfile, vamos falar sobre a sua estrutura. A estrutura do arquivo DockerFile é composta por instruções, em ordem de execução. Entre as principais instruções do DockerFile estão:

  • FROM: é obrigatório e informa qual imagem será utilizada como ponto de partida

  • RUN: utilizada para executar comandos durante o build responsável pela montagem da imagem

  • CMD: só deve ser inserido uma vez no DockerFile, pois executa apenas na criação do container

  • EXPOSE: informa quais serão as portas liberadas ao criar o container

  • COPY: copia arquivos e pastas locais

  • ADD: copia arquivos e pastas remotas ou compactadas

  • VOLUME: informa um ponto de montagem e disponibiliza uma pasta entre o container e o host

  • WORKDIR: define uma pasta no container onde serão executados os comandos

  • USER: define o usuário para execução de comandos

  • BUILD: cria a imagem a partir do DockerFile

Como fazer um build do DockerFile

O processo de build consiste em 3 etapas:

  1. Criar o DockerFile

  2. Gerar a imagem

  3. Construir o container

Para o primeiro passo você deve construir o seu arquivo Dockerfile com as instruções de configuração do container. Nesse passo é importante ter em mente que o uso de imagens oficiais ajuda a ter um container de qualidade e push e pull mais eficientes.

Veja a seguir um exemplo simples usando a imagem oficial do Alpine Linux e a execução individual de alguns comandos:

FROM alpine:latest

COPY crons /app

RUN apk update

RUN apk add crond

RUN apk add tzdata

RUN ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

RUN ln -sf /app/crons /etc/crontabs/root

ENTRYPOINT [ “crond”, “-f”]

Com o arquivo DockerFile criado é hora de criar a imagem com a execução do comando a seguir:

docker build -t nome_da_imagem .

Feito isso, é hora de criar o container a partir dessa imagem. Isso é feito com o comando:

docker run nome_da_imagem

E assim você constrói imagens personalizadas e cria containers para otimizar o desenvolvimento de aplicações e diversos outros trabalhos com estruturas personalizadas conforme a necessidade.

Boas práticas na criação de DockerFile

Veja a seguir algumas dicas para ter arquivos DockerFile melhores:

  • fique de olho na ordem das instruções

  • containers devem ser imutáveis

  • consolide as instruções para minimizar camadas

  • instale somente os pacotes necessários

  • faça uso do arquivo .dockerignore

  • declare o que for mais passível de alteração no final do arquivo

  • utilize o menor número possível de instruções no DockerFile

Agora que você já sabe como funciona um DockerFile, quais são os principais comandos e o que fazer para criar um arquivo melhor, é hora de colocar em prática.

E se tiver alguma dúvida, deixe aqui nos comentários que vamos te ajudar.

Compartilhar: