Fundamentos de Imagens Docker
Compreendendo Imagens Docker
Imagens Docker são componentes fundamentais na tecnologia de containers, servindo como modelos de leitura-somente que contêm tudo o que é necessário para executar uma aplicação. Estas imagens incluem o código da aplicação, o tempo de execução, bibliotecas, variáveis de ambiente e ficheiros de configuração.
Estrutura e Camadas da Imagem
Imagens Docker são construídas usando uma arquitetura em camadas, o que permite um armazenamento e transferência eficientes. Cada camada representa um conjunto de alterações no sistema de ficheiros.
graph TD
A[Camada Base da Imagem] --> B[Camada da Aplicação]
B --> C[Camada de Configuração]
C --> D[Camada de Tempo de Execução]
Componentes Principais da Imagem
| Componente |
Descrição |
Finalidade |
| Imagem Base |
Sistema operativo fundamental |
Fornece bibliotecas de sistema essenciais |
| Ficheiros da Aplicação |
Código fonte e dependências |
Define o conteúdo da aplicação |
| Metadados |
Configuração da imagem |
Controlam o arranque do container |
Criando uma Imagem Docker: Exemplo Prático
Aqui está um Dockerfile completo que demonstra a criação de uma imagem no Ubuntu 22.04:
## Utilizar a imagem base oficial do Ubuntu
FROM ubuntu:22.04
## Definir o diretório de trabalho
WORKDIR /app
## Atualizar os pacotes do sistema
RUN apt-get update && apt-get install -y \
python3 \
python3-pip
## Copiar os ficheiros da aplicação
COPY . /app
## Instalar dependências
RUN pip3 install -r requirements.txt
## Definir o comando de arranque
CMD ["python3", "app.py"]
Mecanismo de Camadas da Imagem
Ao construir imagens, o Docker cria camadas intermediárias para cada instrução. Esta abordagem permite:
- Armazenamento eficiente
- Tempos de construção mais rápidos
- Gestão de versões simplificada
Identificação da Imagem
Imagens Docker são identificadas de forma única por:
- Nome do repositório
- Tag
- ID da imagem (hash)
Exemplo: ubuntu:22.04 representa uma versão específica da imagem Ubuntu.