O Docker é uma plataforma de código aberto que simplifica a criação, o deploy e a execução de aplicações por meio de containers. Dfierente das máquinas virtuais tradicionais, os containers compartilham o kernel do sistema operacional host, o que os torna extremamente leves e rápidos. Esta tecnologia utiliza uma arquitetura cliente-servidor, onde o Docker Daemon gerencia a construção e a execução dos objetos através de uma API REST.
Pré-requissitos de Sistema
Para o funcionamento adequado do Docker, o CentOS 7 exige uma versão de kernel superior a 3.10. É recomendável validar essa informação antes de iniciar o processo.
Execute o comando abaixo para verificar a versão atual do seu kernel:
uname -r
Procedimento de Instalação
Embora existam múltiplos métodos de instalação, o uso do gerenciador de pacotes yum é o mais estável para ambientes CentOS. Certifique-se de possuir privilégios de sudo ou acesso root.
Primeiro, atualize o índice de pacotes do sistema:
sudo yum update -y
Em seguida, instale o pacote do Docker:
sudo yum install -y docker
Alternativamente, para obter a versão mais recente diretamente dos repositórios oficiais do Docker, pode-se utilizar o script de instalação automatizado:
curl -fsSL https://get.docker.com -o instalar-docker.sh
sudo sh instalar-docker.sh
Gerenciamento do Serviço e Automação
Após a instalação, é necessário iniciar o daemon do Docker e configurá-lo para que seja executado automaticamente em cada inicialização do servidor.
# Iniciar o serviço
sudo systemctl start docker
# Habilitar a inicialização automática no boot
sudo systemctl enable docker
# Verificar o status do serviço
sudo systemctl status docker
Para evitar a necessidade de usar sudo em cada comando Docker, adicione seu usuário ao grupo docker:
sudo usermod -aG docker $USER
Otimização com Espelhamento de Registros (Mirrors)
Para acelerar o download de imagens, você pode configurar mirrors de registro editando o arquivo de configuração do daemon:
sudo vi /etc/docker/daemon.json
Adicione o seguinte conteúdo ao arquivo:
{
"registry-mirrors": ["https://hub-mirror.c.163.com"]
}
Após salvar, reinicie o serviço para aplicar as mudanças:
sudo systemctl restart docker
Referência de Comendos Frequentemente Utilizados
Gestão de Imagens
docker images: Lista todas as imagens baixadas localmente.docker pull nome_da_imagem:tag: Transfere uma imagem do repositório remoto para o host local.docker rmi id_da_imagem: Remove uma imagem local (use-fpara forçar).docker search termo: Pesquisa por imagens disponíveis no Docker Hub.docker history nome_da_imagem: Exibe as camadas e o histórico de criação de uma imagem.
Gestão de Containers
docker ps: Exibe apenas os containers que estão em execução no momento.docker ps -a: Lista todos os containers, independentemente de estarem ativos ou parados.docker start nome_container: Inicia um container existente que está parado.docker stop nome_container: Interrompe a execução de um container de forma segura.docker restart nome_container: Reinicializa o container selecionado.docker kill nome_container: Encerra um container forçadamente.docker rm nome_container: Exclui um container permanentemente.
Operações de Sistema e Diagnóstico
docker version: Detalha as versões do cliente e do servidor Docker.docker info: Exibe informações detalhadas sobre a infraestrutura do Docker no sistema.docker logs -f nome_container: Acompanha a saída de log do container em tempo real.docker commit -a "autor" -m "mensagem" container_id nova_imagem:v1: Cria uma nova imagem a partir das alterações feitas em um container.docker tag imagem_origem nova_imagem:tag: Atribui uma nova etiqueta a uma imagem existente para organização em repositórios.
Exportação e Importação
docker save -o arquivo.tar nome_imagem: Salva uma imagem em um arquivo comprimido para transporte.docker load -i arquivo.tar: Restaura uma imagem a partir de um arquivo tar.docker export -o backup.tar nome_container: Exporta o sistema de arquivos de um container para um arquivo.docker import backup.tar nome_imagem: Cria uma nova imagem com base no conteúdo de um container exportado.