Introdução ao Docker
O Docker é uma ferramenta que encapsula aplicações e suas dependências em contêineres Linux, oferecendo uma interface intuitiva para gerenciamento. Ele se tornou a solução líder para contêineres no ecossistema Linux.
Ao empacotar uma aplicação com todas as suas bibliotecas e configurações em um único arquivo, o Docker permite executá-la em um ambiente isolado, similar a uma máquina virtual. Isso elimina problemas de compatibilidade entre diferentes ambientes de desenvolvimento e produção.
Com uma API simplificada, os usuários podem criar, distribuir e vesrionar contêineres facilmente, tratando-os como código-fonte comum.
Instalação do Docker no CentOS
O Docker é compatível com versões de 64 bits do CentOS 7, CentOS 8 e superiores. Para instalação automática, utilize o script oficial:
curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun
Aguarde até que o processo seja concluído.
Configuração do Repositório
Instale os pacotes necessários para o yum e drivers de armazenamento:
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
Adicione o repositório estável do Docker, usando um mirror local para melhor desempenho:
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Instalação do Docker Engine
Execute o comando para instalar os componentes principais:
sudo yum install docker-ce docker-ce-cli containerd.io
Inicialização e Verificação
Inicie o serviço Docker:
sudo systemctl start docker
Verifique a instalação executando um contêiner de teste:
sudo docker run hello-world
Comandos Básicos do Docker
Executando um Contêiner Simples
Utilize o comando run para iniciar um contêiner e executar um comando. Por exemplo, usando a imagem Debian para imprimir uma mensagem:
docker run debian:latest echo "Bem-vindo ao Docker"
Explicação dos parâmetros:
docker: Executável principal do Docker.run: Cria e inicia um novo contêiner.debian:latest: Especifica a imagem base. Se não estiver localmente, será baixada do Docker Hub.echo "Bem-vindo ao Docker": Comando executado dentro do contêiner.
Contêiner Interativo
Use as flags -i e -t para iniciar um contêiner com uma sessão de terminal interativa:
docker run -it alpine:latest /bin/sh
Explicação:
-t: Atribui um pseudo-terminal ao contêiner.-i: Mantém a entrada padrão (STDIN) ativa para interação.
Dentro do contêiner, comandos como cat /etc/os-release ou ls -la podem ser executados. Para sair, digite exit.
Modo Background
Crie um contêiner em segundo plano com a flag -d. O contêiner continuará rodando sem anexar o terminal:
docker run -d fedora:latest /bin/bash -c "while true; do echo Docker em ação; sleep 5; done"
O comando retorna um ID único do contêiner. Use docker ps para listar contêineres ativos:
docker ps
Para visualizar logs de um contêiner em background, utilize o ID:
docker logs [CONTAINER_ID]
Exemplo com ID hipotético:
docker logs a1b2c3d4e5f6
Acessando um Contêiner Existente
Use docker exec para acessar um contêiner em execução sem interrompê-lo:
docker exec -it a1b2c3d4e5f6 /bin/bash
Gerenciamento de Contêineres
Exportação e Importação
Exporte um contêiner para um arquivo tar:
docker export a1b2c3d4e5f6 > backup_container.tar
Importe um arquivo tar como uma nova imagem:
cat backup_container.tar | docker import - meuapp:versao1
Também é possível importar de URLs:
docker import http://example.com/image.tgz exemplo/imagem
Controle de Contêineres
Comandos para iniciar, parar ou reiniciar contêineres existentes:
docker start [ID]: Inicia contêineres parados.docker stop [ID]: Para contêineres em execução.docker restart [ID]: Reinicia contêineres.
Remoção de Contêineres
Para remover um contêiner, use a flag -f forçadamente:
docker rm -f a1b2c3d4e5f6
Desinstalação do Docker
Remova os pacotes do Docker:
sudo yum remove docker-ce
Limpe os dados residuais, como imagens e configurações:
sudo rm -rf /var/lib/docker