Como Instalar Docker no CentOS: Guia Completo Passo a Passo
O Docker mudou fundamentalmente a forma como os desenvolvedores constroem, enviam e executam aplicações. Ao empacotar software em contêineres leves e portáteis, o Docker elimina o clássico problema “funciona na minha máquina” e simplifica drasticamente tanto os fluxos de trabalho de desenvolvimento quanto as implementações em produção. Se você está executando CentOS e deseja aproveitar o poder da containerização, este guia abrangente o orienta em cada etapa — desde uma atualização do sistema até configuração avançada.
Quer você esteja implantando uma única aplicação web ou orquestrando ambientes complexos com múltiplos contêineres, instalar o Docker corretamente no CentOS é o primeiro passo crítico.
Pré-requisitos
Antes de começar, certifique-se de que você tem:
- Um servidor CentOS 7 ou CentOS 8 (físico ou virtual)
- Uma conta de usuário com
sudoprivilégios - Uma conexão de internet estável
- Familiaridade básica com a linha de comando Linux
> Dica profissional: Para a melhor experiência com Docker, considere executá-lo em um plano de VPS Hosting. Um servidor privado virtual oferece acesso root completo, recursos dedicados e a flexibilidade para executar contêineres sem as restrições de ambientes compartilhados.
Passo 1: Atualizar o Sistema
Antes de instalar qualquer novo software, sempre atualize seus pacotes existentes para garantir compatibilidade e segurança. Execute o seguinte comando:
sudo yum update -yEste comando atualiza todos os pacotes instalados para suas versões mais recentes. Pode levar alguns minutos dependendo de quantas atualizações estão pendentes. Um sistema totalmente atualizado reduz o risco de conflitos de dependência durante a instalação do Docker.
Passo 2: Instalar Dependências Necessárias
O Docker depende de vários pacotes no nível do sistema para funcionar corretamente. Instale-os com um único comando:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2Aqui está o que cada pacote faz:
| Pacote | Propósito |
|---|---|
yum-utils | Fornece o utilitário yum-config-manager para gerenciar repositórios |
device-mapper-persistent-data | Necessário para o driver de armazenamento device mapper do Docker |
lvm2 | Suporte do Logical Volume Manager para o backend de armazenamento do Docker |
Essas dependências garantem que o Docker possa gerenciar o armazenamento de contêineres de forma eficiente e confiável no seu sistema CentOS.
Passo 3: Adicionar o Repositório Oficial do Docker
Os repositórios padrão do CentOS não incluem os pacotes mais recentes do Docker. Você precisa adicionar o repositório oficial do Docker para obter a versão mais atual e estável:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoEste comando adiciona o repositório oficial do CentOS do Docker à lista de repositórios do seu sistema. Usar a fonte oficial garante que você receba pacotes Docker genuínos e atualizados diretamente da Docker Inc., em vez de versões potencialmente desatualizadas de espelhos de terceiros.
Você pode verificar se o repositório foi adicionado com sucesso listando seus repositórios configurados:
sudo yum repolistPasso 4: Instalar o Docker Engine
Com o repositório em vigor, instalar o Docker é direto:
sudo yum install -y docker-ce docker-ce-cli containerd.io> Nota: É recomendado instalar também docker-ce-cli (a interface de linha de comando do Docker) e containerd.io (o tempo de execução do contêiner) junto com o mecanismo principal para uma configuração completa e pronta para produção.
Isto instala a Docker Community Edition (CE) — a versão gratuita e de código aberto do Docker que é perfeitamente adequada para cargas de trabalho de desenvolvimento e produção.
Passo 5: Iniciar e Ativar o Serviço Docker
Instalar o Docker não o inicia automaticamente. Você precisa iniciar o daemon do Docker e configurá-lo para iniciar automaticamente no boot do sistema:
sudo systemctl start docker
sudo systemctl enable dockersystemctl start docker — Inicia o serviço Docker imediatamente
systemctl enable docker — Configura o Docker para iniciar automaticamente toda vez que o servidor reinicia
Verificar o Status do Serviço
Confirme que o Docker está funcionando corretamente:
sudo systemctl status docker
Você deve ver uma saída indicando que o serviço está ativo (em execução). Se o status mostrar algum erro, revise os logs do sistema com journalctl -u docker para detalhes de solução de problemas.
Passo 6: Verificar a Instalação do Docker
Execute o teste integrado do Docker para confirmar que tudo está funcionando conforme esperado:
sudo docker run hello-world
Este comando faz o seguinte:
Entra em contato com o registro do Docker Hub
Baixa a imagem de teste leve hello-worldSe sua instalação for bem-sucedida, você verá uma saída que começa com:
Hello from Docker!
This message shows that your installation appears to be working correctly.Parabéns — o Docker agora está totalmente instalado e operacional no seu servidor CentOS.
Passo 7: Configurar o Docker para Usuários Não-Root (Opcional mas Recomendado)
Por padrão, os comandos do Docker requerem sudo (privilégios de root). Para segurança e conveniência em ambientes de desenvolvimento, você pode permitir que usuários não-root específicos executem comandos do Docker adicionando-os ao grupo docker.
Criar o Grupo Docker
Na maioria dos casos, este grupo é criado automaticamente durante a instalação. Se não, crie-o manualmente:
sudo groupadd dockerAdicionar Seu Usuário ao Grupo Docker
Substitua your_username pelo nome de usuário Linux real:
sudo usermod -aG docker your_usernameAplicar as Alterações
Faça logout e login novamente para atualizar sua associação ao grupo. Alternativamente, ative a alteração na sessão atual:
newgrp dockerTestar Sem Sudo
docker run hello-worldSe isto for executado sem sudo e sem um erro de permissão, a configuração está funcionando corretamente.
> Aviso de Segurança: O grupo docker concede privilégios equivalentes ao usuário root. Adicione apenas usuários confiáveis a este grupo em ambientes de produção.
Passo 8: Referência de Comandos Essenciais do Docker
Assim que o Docker estiver em execução, aqui estão os comandos mais importantes que você usará diariamente:
Gerenciamento de Contêineres
# List all running containers
docker ps
# List all containers (including stopped ones)
docker ps -a
# Start a stopped container
docker start container_id
# Stop a running container
docker stop container_id
# Remove a container
docker rm container_id
# Remove all stopped containers at once
docker container pruneGerenciamento de Imagens
# List all locally stored images
docker images
# Pull an image from Docker Hub
docker pull image_name
# Pull a specific version/tag
docker pull image_name:tag
# Remove a local image
docker rmi image_name
# Remove all unused images
docker image prune -aExecutar Contêineres
# Run a container interactively
docker run -it image_name /bin/bash
# Run a container in detached (background) mode
docker run -d image_name
# Run a container with port mapping
docker run -d -p 8080:80 image_name
# Run a container with a custom name
docker run -d --name my_container image_nameVisualizar Logs e Estatísticas
# View container logs
docker logs container_id
# Follow live log output
docker logs -f container_id
# View real-time resource usage
docker statsPasso 9: Confirmar que o Docker Inicia no Boot
O Docker já deve estar configurado para iniciar no boot após executar systemctl enable docker. Para verificar novamente ou reativar este comportamento:
sudo systemctl enable dockerPara desativar a inicialização automática (por exemplo, em uma máquina de desenvolvimento onde você nem sempre precisa do Docker em execução):
sudo systemctl disable dockerPasso 10: Configuração Avançada (Opcional)
Instalar Docker Compose
Docker Compose é uma ferramenta essencial para definir e gerenciar aplicações multi-contêiner usando um arquivo de configuração YAML simples. Instale a versão estável mais recente:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeVerifique a instalação:
docker-compose --versionCom o Docker Compose, você pode definir pilhas de aplicações inteiras — servidores web, bancos de dados, caches — em um único arquivo docker-compose.yml e iniciá-los todos com um comando: docker-compose up -d.
Configurar o Daemon do Docker
Você pode personalizar o comportamento do Docker editando (ou criando) o arquivo de configuração do daemon:
sudo nano /etc/docker/daemon.jsonUm exemplo de configuração comum:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2",
"default-address-pools": [
{"base": "172.17.0.0/16", "size": 24}
]
}Após editar a configuração do daemon, reinicie o Docker para aplicar as alterações:
sudo systemctl restart dockerAs configurações comuns do daemon que você pode configurar incluem:
- Driver de log e rotação — Evite que os logs do contêiner consumam todo o espaço em disco
- Driver de armazenamento —
overlay2é o driver recomendado para CentOS - Configurações de DNS — Defina servidores DNS personalizados para contêineres
- Espelhos de registro — Acelere os pulls de imagem com espelhos locais
Configurar Regras de Firewall (CentOS 7)
Se você está executando firewalld, pode ser necessário permitir o tráfego de rede do Docker:
sudo firewall-cmd --zone=public --add-masquerade --permanent
sudo firewall-cmd --reloadEscolher o Ambiente de Hospedagem Certo para Docker
Executar o Docker em produção requer um ambiente de servidor confiável e de alto desempenho. Aqui estão as melhores opções dependendo do seu caso de uso:
- VPS Hosting — Ideal para a maioria das implantações do Docker. Acesso root completo, recursos escaláveis e preços econômicos tornam o VPS a escolha preferida para aplicações containerizadas.
- Servidores Dedicados — Melhor para ambientes de produção com alto tráfego ou quando você precisa de desempenho máximo de CPU, RAM e armazenamento para executar dezenas de contêineres simultaneamente.
- GPU Hosting — Perfeito para cargas de trabalho de IA/ML executadas dentro de contêineres Docker que requerem aceleração GPU para treinamento ou inferência de modelos.
- VPS com cPanel — Se você precisa do Docker junto com um painel de controle amigável para gerenciar sites e email, esta combinação oferece o melhor dos dois mundos.
Solução de Problemas Comuns do Docker no CentOS
Falha ao Iniciar o Daemon do Docker
Verifique os logs do sistema para detalhes de erro:
journalctl -u docker --no-pager | tail -50Erros de Permissão Negada
Se você vir Got permission denied while trying to connect to the Docker daemon socket, certifique-se de que seu usuário está no grupo docker e que você fez logout e login novamente.
Não Conseguir Fazer Pull de Imagens
Verifique se seu servidor tem acesso à internet de saída e se o DNS está resolvendo corretamente:
curl -I https://registry-1.docker.ioProblemas de Rede do Contêiner
Reinicie o Docker para reinicializar as pontes de rede:
sudo systemctl restart docker