Fundamentos do Docker
Introdução aos Contêineres Docker
Docker é uma poderosa tecnologia de contentores que revoluciona o desenvolvimento e a gestão de aplicações. A tecnologia de contentores permite aos desenvolvedores empacotar aplicações com todas as suas dependências, garantindo um desempenho consistente em diferentes ambientes de computação.
Conceitos Principais do Docker
Os contentores Docker são pacotes executáveis, autónomos e leves que incluem tudo o que é necessário para executar uma aplicação. Eles oferecem várias vantagens chave:
| Característica |
Descrição |
| Isolamento |
Os contentores executam-se independentemente dos sistemas hospedeiros |
| Portabilidade |
As aplicações podem ser movidas entre diferentes ambientes |
| Eficiência |
Consumo mínimo de recursos em comparação com máquinas virtuais tradicionais |
Arquitetura Docker
graph TD
A[Cliente Docker] --> B[Demônio Docker]
B --> C[Tempo de execução do Contêiner]
B --> D[Repositório de Imagens]
C --> E[Contêineres Docker]
Instalação no Ubuntu 22.04
## Atualizar o índice de pacotes
sudo apt update
## Instalar dependências
sudo apt install apt-transport-https ca-certificates curl software-properties-common
## Adicionar a chave GPG oficial do Docker
curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
## Configurar o repositório estável
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
## Instalar o Docker Engine
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
Comandos Básicos do Docker
## Extrair uma imagem
docker pull ubuntu:latest
## Listar imagens
docker images
## Executar um contêiner
docker run -it ubuntu:latest /bin/bash
## Listar contentores em execução
docker ps
## Parar um contêiner
docker stop container_id
Criando um Dockerfile Simples
## Usar a imagem base oficial do Ubuntu
FROM ubuntu:22.04
## Definir o diretório de trabalho
WORKDIR /app
## Instalar Python
RUN apt-get update && apt-get install -y python3
## Copiar os ficheiros da aplicação
COPY . /app
## Definir o comando padrão
CMD ["python3", "app.py"]
Rede de Contêineres
O Docker fornece vários modos de rede para contentores, permitindo uma comunicação flexível entre contentores e redes externas. Os desenvolvedores podem escolher configurações de rede de ponte, hospedeiro ou personalizadas com base nas necessidades específicas.
Desempenho e Gestão de Recursos
Os contentores Docker oferecem uma utilização eficiente dos recursos, partilhando o kernel do sistema hospedeiro e requerendo uma sobrecarga mínima. Consomem significativamente menos memória e tempo de inicialização em comparação com máquinas virtuais tradicionais.