O Docker se tornou uma ferramenta fundamental no desenvolvimento e implantaĂ§Ă£o de aplicações, permitindo a criaĂ§Ă£o de ambientes isolados e reproduzĂveis. No entanto, muitas vezes precisamos de mais do que as imagens prĂ©-criadas disponĂveis no Docker Hub, e Ă© aĂ que entra a capacidade de criar nossas prĂ³prias imagens personalizadas usando o Dockerfile.
Este artigo irĂ¡ guiĂ¡-lo passo a passo na criaĂ§Ă£o de imagens personalizadas com o Dockerfile, explicando tudo, desde o bĂ¡sico atĂ© a otimizaĂ§Ă£o e implantaĂ§Ă£o de seus contĂªineres. Se vocĂª sempre quis entender como a criaĂ§Ă£o de imagens do Docker realmente funciona, este Ă© o lugar certo.
O que Ă© um Dockerfile?
Un dockerfile É um arquivo de texto que contĂ©m uma sĂ©rie de instruções que o Docker interpreta para construir uma imagem. Cada linha em um Dockerfile representa um camada na imagem final, o que permite otimizar e reutilizar partes do processo de construĂ§Ă£o.
As imagens do Docker sĂ£o baseadas em um sistema de camadas, o que significa que toda vez que uma instruĂ§Ă£o Ă© executada dentro de um Dockerfile, uma nova camada Ă© criada sobre a anterior. Isso permite o uso eficiente do armazenamento e facilita a reutilizaĂ§Ă£o de partes da imagem em construções futuras. Se vocĂª quiser saber mais sobre como otimizar o armazenamento em seus projetos, Ă© aconselhĂ¡vel investigar o uso de opções de criptografia eficientes.

Instruções bĂ¡sicas em um Dockerfile
Para criar uma imagem personalizada, precisamos conhecer algumas instruções fundamental que pode ser incluĂdo em um Dockerfile:
- A PARTIR DE: Define a imagem base na qual nossa imagem personalizada serĂ¡ construĂda. Exemplo:
FROM ubuntu:latest. - CORRE: Permite que vocĂª execute comandos na imagem durante sua construĂ§Ă£o. É usado para instalar pacotes ou configurar a imagem. Exemplo:
RUN apt-get update && apt-get install -y curl. - CÓPIA DE: Copia arquivos do sistema de arquivos host para a imagem. Exemplo:
COPY app.py /app/. - CMD: Define o comando a ser executado quando um comando Ă© iniciado. recipiente com base na imagem. Exemplo:
CMD ["python3", "app.py"]. - PONTO DE ENTRADA: Semelhante ao CMD, mas permite que o contĂªiner funcione como um executĂ¡vel.
- ENV: Definir variĂ¡veis ​​ambientais dentro do recipiente. Exemplo:
ENV APP_ENV=production. - DIRETOR DE TRABALHO: Estabelece o diretĂ³rio de trabalho dentro do recipiente.
- EXPOR: Especifique o portos que o contĂªiner usarĂ¡.
Etapas para criar imagens Dockerfile personalizadas
Suponha que queremos criar uma imagem para um aplicativo em Python uso Frasco. Para fazer isso, seguiremos estas etapas:
1. Prepare o ambiente
Crie uma pasta para seu aplicativo e dentro dela, um arquivo Dockerfile. VocĂª tambĂ©m precisarĂ¡ de um arquivo requirements.txt com a dependĂªncias necessĂ¡rias que sua aplicaĂ§Ă£o requer.
2. Defina o Dockerfile
Dentro do arquivo Dockerfile, escrevemos o seguinte:
FROM python:3.9 WORKDIR /app COPY requirements.txt /app/ RUN pip install -r requirements.txt COPY . /app/ CMD ["python", "app.py"]
3. Construa a imagem
Abra um terminal na pasta onde o Dockerfile estĂ¡ localizado e execute:
docker build -t mi-app .
4. Execute um contĂªiner
Para lançar um recipiente Com base na imagem recém-criada, use:
docker run -p 5000:5000 mi-app
Melhores prĂ¡ticas para criar imagens Dockerfile personalizadas
- Use imagens de base leves: Opte por imagens minimalistas como
alpinepara reduzir o tamanho da imagem e melhorar a segurança. - Aproveite o cache: Peça as instruções do
Dockerfilepara que no final apareçam alterações frequentes para otimizar o uso do Esconderijo. - Exclua arquivos desnecessĂ¡rios: Usar
.dockerignorepara evitar copiar arquivos que nĂ£o sĂ£o necessĂ¡rios dentro do contĂªiner. - Minimize o nĂºmero de camadas: Use o mesmo
RUNpara agrupar comandos e reduzir camadas desnecessĂ¡rias.
Como compartilhar imagens Dockerfile personalizadas
Para compartilhar sua imagem com outros desenvolvedores ou implantĂ¡-la em um servidor, vocĂª pode carregĂ¡-la no Docker Hub:
1. Faça login no Docker Hub
docker login
2. Rotule a imagem
docker tag mi-app usuario/mi-app:v1
3. Carregue a imagem
docker push usuario/mi-app:v1
Agora qualquer pessoa pode baixar e usar sua imagem com:
docker pull usuario/mi-app:v1
Criar imagens personalizadas com o Dockerfile Ă© uma das melhores maneiras de melhorar seu desdobramento, desenvolvimento e desenvolvimento de aplicativos. Seguindo estes passos e boas prĂ¡ticas, vocĂª poderĂ¡ criar imagens eficientes e seguras, prontas para serem usadas em ambientes de produĂ§Ă£o. Compartilhe este guia e ajude outros usuĂ¡rios a usar a ferramenta.