Fundamentos de Imagens Docker
Compreendendo Imagens Docker
Imagens Docker são blocos de construção fundamentais na tecnologia de contêineres, servindo como modelos de leitura-somente para a criação de contêineres. Estes pacotes leves e portáteis encapsulam o código da aplicação, o ambiente de execução, as bibliotecas e as ferramentas de sistema necessárias para a execução do software.
Estrutura e Componentes da Imagem
Imagens Docker consistem em múltiplas camadas, cada uma representando um conjunto de alterações no sistema de arquivos. Esta arquitetura em camadas permite um armazenamento eficiente e uma implantação rápida de contêineres.
graph TD
A[Camada Base] --> B[Camada da Aplicação]
B --> C[Camada de Configuração]
C --> D[Camada de Execução]
Componentes Principais da Imagem
| Componente |
Descrição |
Finalidade |
| Imagem Base |
Sistema operacional fundamental |
Fornece bibliotecas de sistema essenciais |
| Camada da Aplicação |
Software e dependências |
Contém o código específico da aplicação |
| Camada de Configuração |
Configurações de ambiente |
Define parâmetros de tempo de execução |
Criando Imagens Docker
Exemplo de Ubuntu 22.04 para a construção de uma imagem simples de aplicação web Python:
## Criar diretório do projeto
mkdir web-app
cd web-app
## Criar Dockerfile
touch Dockerfile
Conteúdo do Dockerfile:
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["python", "app.py"]
Comandos de Gerenciamento de Imagens
Comandos essenciais de gerenciamento de imagens Docker:
## Extrair imagem do Docker Hub
docker pull ubuntu:22.04
## Listar imagens locais
docker images
## Construir imagem a partir do Dockerfile
docker build -t web-app:v1 .
## Remover imagem específica
docker rmi web-app:v1
Considerações sobre o Ambiente de Execução
Imagens Docker fornecem ambientes de execução consistentes em diferentes plataformas de desenvolvimento e implantação, garantindo a portabilidade da aplicação e reduzindo os desafios de "funciona na minha máquina".