Criação de Imagens Docker Personalizadas
Crie sua primeira imagem Docker personalizada para uma aplicação simples, identificando-a e versionando-a corretamente.
Criação de Imagens Docker Personalizadas é uma aula grátis de Docker & DevOps Fundamentals no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Docker & DevOps Fundamentals, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Docker & DevOps Fundamentals inclui 4 aulas no total.
Crie sua primeira imagem do Docker
Por que criar imagens personalizadas? Elas permitem empacotar seu aplicativo específico, suas dependências e sua configuração em uma única unidade portátil. Isso é fundamental para garantir consistência e facilitar a implantação.
Você define como criar essa imagem usando um arquivo chamado Dockerfile.

Nosso aplicativo web simples
Vamos conteinerizar um aplicativo web super simples em Python Flask. Ele apenas retorna "Olá do Docker!" quando você acessa o endereço web dele.
Imagine que tenhamos estes arquivos em um diretório:
app.py: o código do aplicativo Pythonrequirements.txt: lista as dependências do PythonDockerfile: instruções para criar a imagem
O código da aplicação Flask
Este é o nosso aplicativo básico em Python com Flask. Ele escuta na porta 5000 e responde com "Hello from Docker!".
Você pode executá-lo localmente (depois de instalar o Flask) para vê-lo em funcionamento!
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello from Docker!'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')Especificando dependências
Nosso aplicativo precisa da biblioteca Flask. Nós a listamos em requirements.txt. Esse arquivo informa ao Docker (e ao gerenciador de pacotes do Python, pip) o que deve ser instalado.
Isso garante que nossa imagem tenha todas as bibliotecas necessárias para executar o aplicativo.
Flask==2.3.2Anatomia do nosso arquivo Docker
Um arquivo Docker é um arquivo de texto com instruções para criar uma imagem. Cada instrução cria uma camada. Veja o que usaremos:
FROM: especifica a imagem base (por exemplo, Python).WORKDIR: define o diretório de trabalho dentro do contêiner.COPY: copia arquivos do seu computador para a imagem.RUN: executa comandos (por exemplo, para instalar dependências).EXPOSE: informa ao Docker sobre as portas nas quais o contêiner escuta.CMD: define o comando padrão a ser executado quando o contêiner é iniciado.
Criando o arquivo Docker
Aqui está o Dockerfile completo do nosso aplicativo Flask. Coloque esse arquivo no mesmo diretório que app.py e requirements.txt.
# Use an official Python runtime as a parent image
FROM python:3.9-slim-buster
# Set the working directory in the container
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY requirements.txt .
COPY app.py .
# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# Make port 5000 available to the world outside this container
EXPOSE 5000
# Run app.py when the container launches
CMD ["python", "app.py"]O comando `docker build`
Agora, vamos criar nossa imagem! Abra o terminal no diretório em que estão localizados o Dockerfile e os arquivos do aplicativo.
O sinalizador -t atribui à nossa imagem um nome (my-flask-app) e uma versão (1.0). O . informa ao Docker que o diretório atual deve ser usado como contexto da criação.
docker build -t my-flask-app:1.0 .
Verificando sua nova imagem
Depois que a criação for concluída, você poderá verificar se sua nova imagem existe listando todas as imagens locais do Docker.
Procure por my-flask-app com a tag 1.0 na saída.
docker images
Iniciando o contêiner do seu aplicativo
É hora de ver seu aplicativo em ação! Use docker run para criar e iniciar um contêiner a partir da sua imagem.
-p 5000:5000 mapeia a porta 5000 do seu computador host para a porta 5000 dentro do contêiner. -d o executa no modo desacoplado (em segundo plano).
docker run -d -p 5000:5000 my-flask-app:1.0
Acesse http://localhost:5000 no navegador para ver "Hello from Docker!".
Boas práticas para usar tags em imagens
As tags são fundamentais para gerenciar diferentes versões das suas imagens. Uma prática comum é usar o versionamento semântico (por exemplo, 1.0.0, 2.1.5) e também uma tag latest.
Você pode adicionar várias tags a uma imagem usando docker tag:
docker tag my-flask-app:1.0 my-flask-app:latest
Isso permite referenciar a mesma imagem por nomes diferentes, tornando-a flexível para implantações.
Verificação rápida
Considere o seguinte Dockerfile e comando de criação:
# Dockerfile content
FROM alpine:latest
WORKDIR /app
COPY . .
CMD ["echo", "Hello"]
docker build -t my-app:v1 .Qual das afirmações a seguir é TRUE sobre o comando docker build -t my-app:v1 .?
Recapitulação: imagens personalizadas
Excelente trabalho! Você aprendeu a:
- Preparar um aplicativo simples para a conteinerização.
- Escrever um
Dockerfilebásico usando instruções importantes (FROM,WORKDIR,COPY,RUN,EXPOSE,CMD). - Criar uma imagem Docker personalizada usando
docker build -t. - Verificar sua imagem com
docker images. - Executar um contêiner a partir da sua imagem personalizada usando
docker run -p. - Entender a importância das tags e do versionamento de imagens.
A seguir, vamos aprofundar a estrutura das imagens Docker com camadas e técnicas para otimizar o tamanho e o tempo de criação!
Perguntas Frequentes
A aula “Criação de Imagens Docker Personalizadas” é grátis?
Sim — o texto completo de “Criação de Imagens Docker Personalizadas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Docker & DevOps Fundamentals, atualize para CoddyKit PRO. O curso de Docker & DevOps Fundamentals inclui 4 aulas no total.
O que vou aprender em “Criação de Imagens Docker Personalizadas”?
Crie sua primeira imagem Docker personalizada para uma aplicação simples, identificando-a e versionando-a corretamente. Você pratica Docker & DevOps Fundamentals com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Docker & DevOps Fundamentals?
Nenhuma experiência prévia é necessária. Docker & DevOps Fundamentals no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Criação de Imagens Docker Personalizadas”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Docker & DevOps Fundamentals?
Sim. Cada aula de Docker & DevOps Fundamentals inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Entendendo os Dockerfiles
- Criação de Imagens Docker Personalizadas
- Camadas e Otimização de Imagens
- Compilações em várias etapas e imagens menores