Como Dominar a Gestão de Contêineres Docker no Ubuntu

DockerBeginner
Pratique Agora

Introdução

Este tutorial abrangente sobre Docker fornece aos desenvolvedores e administradores de sistemas um guia detalhado para compreender e implementar a tecnologia de contêineres Docker. Explorando conceitos centrais, arquitetura e estratégias de implementação práticas, os aprendizes adquirirão habilidades essenciais para ambientes modernos de desenvolvimento e implantação de software.

Conceitos Essenciais do Docker

Introdução aos Conceitos Básicos do Docker

Docker é uma plataforma poderosa para a tecnologia de contêineres que revoluciona a contenção de software. Permite que desenvolvedores empacotem aplicações com todas as suas dependências, garantindo desempenho consistente em diferentes ambientes computacionais.

Conceitos Centrais do Docker

O que é Docker?

Docker é uma plataforma de código aberto que utiliza contentores para simplificar a implantação e a gestão de aplicações. Ao contrário das máquinas virtuais tradicionais, os contêineres Docker partilham o kernel do sistema hospedeiro, tornando-os leves e eficientes.

graph TD
    A[Código da Aplicação] --> B[Contêiner Docker]
    B --> C[Sistema Operativo Hospedeiro]
    C --> D[Hardware]

Componentes Principais do Docker

Componente Descrição Finalidade
Docker Engine Núcleo de tempo de execução Gerencia o ciclo de vida do contêiner
Imagem Docker Modelo leve Define a configuração do contêiner
Contêiner Docker Instância executável Executa a aplicação

Arquitetura do Docker

Docker utiliza uma arquitetura cliente-servidor com vários componentes principais:

  • Docker Daemon: Gerencia objetos Docker
  • Docker Client: Envia comandos ao Docker Daemon
  • Docker Registry: Armazena imagens Docker

Comandos Básicos do Docker

Exemplo de comandos Docker em Ubuntu 22.04:

## Instalar Docker
sudo apt-get update
sudo apt-get install docker.io

## Verificar a versão do Docker
docker --version

## Extrair uma imagem Ubuntu
docker pull ubuntu:22.04

## Executar um contêiner
docker run -it ubuntu:22.04 /bin/bash

## Listar contêineres em execução
docker ps

## Parar um contêiner
docker stop [id_do_contêiner]

Benefícios da Contenção Docker

  • Ambientes de desenvolvimento consistentes
  • Implantação mais rápida
  • Eficiência de recursos
  • Escalabilidade melhorada
  • Gestão simplificada de dependências

Configuração do Ambiente Docker

Preparando o Ubuntu 22.04 para a Instalação do Docker

O Docker requer um ambiente Linux compatível. O Ubuntu 22.04 fornece uma plataforma excelente para implantação de contêineres com procedimentos de instalação diretos.

Requisitos do Sistema

Antes da instalação, certifique-se de que o seu sistema Ubuntu atende aos seguintes pré-requisitos:

Requisito Especificação
SO Ubuntu 22.04 LTS
Arquitetura 64 bits
Kernel 5.4 ou superior
RAM Mínimo 2 GB

Métodos de Instalação do Docker

graph TD
    A[Instalação do Docker] --> B[Método de Repositório]
    A --> C[Método de Pacote]
    A --> D[Método de Script]

Processo de Instalação do Repositório

## Atualizar pacotes existentes
sudo apt-get update

## Instalar dependências necessárias
sudo apt-get install ca-certificates curl gnupg lsb-release

## 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=$(dpkg --print-architecture) 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-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Verificando a Instalação do Docker

## Verificar a versão do Docker
docker --version

## Verificar se o Docker está em execução
sudo systemctl status docker

## Testar a instalação do Docker
sudo docker run hello-world

Configuração Pós-Instalação

## Adicionar o utilizador atual ao grupo docker
sudo usermod -aG docker $USER

## Reiniciar o serviço Docker
sudo systemctl restart docker

Instalação do Docker Compose

## Baixar o Docker Compose
sudo curl -L " -s)-$(uname -m)" -o /usr/local/bin/docker-compose

## Aplicar permissões executáveis
sudo chmod +x /usr/local/bin/docker-compose

## Verificar a instalação
docker-compose --version

Gestão de Imagens Docker

Compreendendo Imagens Docker

Imagens Docker são pacotes executáveis, leves e autónomos que incluem tudo o necessário para executar uma aplicação. Funcionam como modelos para a criação de contêineres.

graph TD
    A[Dockerfile] --> B[Imagem Docker]
    B --> C[Contêiner Docker]

Comandos de Gestão de Imagens

Comando Função
docker images Listar imagens locais
docker pull Baixar imagens
docker push Carregar imagens
docker rmi Remover imagens

Criando um Dockerfile

## Seleção da imagem base
FROM ubuntu:22.04

## Metadados
LABEL maintainer="developer@example.com"

## Atualizações do sistema
RUN apt-get update && apt-get upgrade -y

## Instalar dependências
RUN apt-get install -y python3 python3-pip

## Definir diretório de trabalho
WORKDIR /app

## Copiar ficheiros da aplicação
COPY . /app

## Instalar dependências da aplicação
RUN pip3 install -r requirements.txt

## Expor porta da aplicação
EXPOSE 8000

## Definir comando de arranque
CMD ["python3", "app.py"]

Construindo Imagens Docker

## Construir imagem a partir do Dockerfile
docker build -t myapp:v1 .

## Listar imagens locais
docker images

## Marcar uma imagem existente
docker tag myapp:v1 myregistry/myapp:latest

Fluxo de Trabalho de Gestão de Imagens

graph LR
    A[Desenvolver Código] --> B[Criar Dockerfile]
    B --> C[Construir Imagem]
    C --> D[Testar Contêiner]
    D --> E[Publicar no Repositório]
    E --> F[Implantar Contêiner]

Operações Avançadas com Imagens

## Exportar imagem para um arquivo tar
docker save -o myimage.tar myimage:v1

## Importar imagem de um arquivo tar
docker load -i myimage.tar

## Remover imagens não utilizadas
docker image prune

Interação com o Repositório Docker

## Efetuar login no Docker Hub
docker login

## Carregar imagem para o repositório
docker push myusername/myimage:tag

## Baixar imagem do repositório
docker pull myusername/myimage:tag

Resumo

O Docker representa uma abordagem revolucionária à contenção de software, oferecendo aos desenvolvedores uma plataforma poderosa para criar ambientes de aplicação consistentes, eficientes e escaláveis. Dominando os componentes principais, a arquitetura e os comandos do Docker, os profissionais podem otimizar seus fluxos de trabalho de desenvolvimento, melhorar a gestão de recursos e alcançar uma implantação de software mais flexível em diferentes plataformas de computação.