Como Instalar Docker no CentOS: Guia Completo Passo a Passo
Docker mudou fundamentalmente a forma como os desenvolvedores constroem, enviam e executam aplicações. Ao empacotar software em contentores leves e portáteis, Docker elimina o clássico problema “funciona na minha máquina” e simplifica dramaticamente tanto os fluxos de trabalho de desenvolvimento como as implementações em produção. Se está a executar CentOS e quer aproveitar o poder da containerização, este guia abrangente orienta-o em cada passo — desde uma atualização do sistema limpa até à configuração avançada.
Quer esteja a implementar uma única aplicação web ou a orquestrar ambientes complexos com múltiplos contentores, instalar Docker corretamente no CentOS é o primeiro passo crítico.
Pré-requisitos
Antes de começar, certifique-se de que tem:
- Um servidor CentOS 7 ou CentOS 8 (físico ou virtual)
- Uma conta de utilizador com privilégios
sudo - Uma ligação à Internet estável
- Familiaridade básica com a linha de comandos Linux
> Dica Pro: Para a melhor experiência com Docker, considere executá-lo num plano de Alojamento VPS. Um servidor privado virtual oferece-lhe acesso total root, recursos dedicados e a flexibilidade de executar contentores sem as restrições de ambientes partilhados.
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
Docker depende de vários pacotes de 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 | Finalidade |
|---|---|
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 de pacotes padrão do CentOS não incluem os pacotes Docker mais recentes. 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 CentOS oficial 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 Docker Engine
Com o repositório em vigor, instalar 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 runtime do contentor) juntamente com o motor 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 Docker não o inicia automaticamente. Você precisa iniciar o daemon Docker e configurá-lo para ser lançado automaticamente na inicialização do sistema:
sudo systemctl start docker
sudo systemctl enable dockersystemctl start docker — Inicia o serviço Docker imediatamente
systemctl enable docker — Configura Docker para iniciar automaticamente sempre que o servidor reiniciar
Verificar o Status do Serviço
Confirme que Docker está funcionando corretamente:
sudo systemctl status docker
Você deve ver uma saída indicando que o serviço está active (running). Se o status mostrar algum erro, revise os logs do sistema com journalctl -u docker para detalhes de resoluçã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:
Contacta o registo Docker Hub
Descarrega a imagem de teste leve hello-worldSe a sua instalação for bem-sucedida, verá um resultado que começa com:
Hello from Docker!
This message shows that your installation appears to be working correctly.Parabéns — Docker está agora totalmente instalado e operacional no seu servidor CentOS.
Passo 7: Configurar Docker para Utilizadores Não-Root (Opcional mas Recomendado)
Por padrão, os comandos Docker requerem sudo (privilégios de root). Para segurança e conveniência em ambientes de desenvolvimento, pode permitir que utilizadores não-root específicos executem comandos 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 o Seu Utilizador ao Grupo Docker
Substitua your_username pelo nome de utilizador Linux real:
sudo usermod -aG docker your_usernameAplicar as Alterações
Termine a sessão e inicie sessão novamente para atualizar a sua associação ao grupo. Em alternativa, 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á a funcionar corretamente.
> Aviso de Segurança: O grupo docker concede privilégios equivalentes ao utilizador root. Adicione apenas utilizadores de confiança a este grupo em ambientes de produção.
Passo 8: Referência de Comandos Docker Essenciais
Assim que 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 -aExecutando 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_nameVisualizando 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 esse comportamento:
sudo systemctl enable dockerPara desativar a inicialização automática (por exemplo, em uma máquina de desenvolvimento onde você nem sempre precisa que o Docker esteja 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-contentor usando um simples ficheiro de configuração YAML. 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 Docker Compose, pode definir pilhas de aplicações inteiras — servidores web, bases de dados, caches — num único ficheiro docker-compose.yml e iniciá-las todas com um comando: docker-compose up -d.
Configurar o Docker Daemon
Pode personalizar o comportamento do Docker editando (ou criando) o ficheiro 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 definições comuns do daemon que pode configurar incluem:
- Controlador de registo e rotação — Evite que os registos do contentor consumam todo o espaço em disco
- Controlador de armazenamento —
overlay2é o controlador recomendado para CentOS - Definições de DNS — Defina servidores DNS personalizados para contentores
- Espelhos de registo — Acelere as transferências de imagens com espelhos locais
Configurar Regras de Firewall (CentOS 7)
Se está a executar firewalld, pode precisar de permitir o tráfego de rede do Docker:
sudo firewall-cmd --zone=public --add-masquerade --permanent
sudo firewall-cmd --reloadEscolher o Ambiente de Hosting Correto para Docker
Executar 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 implementações Docker. Acesso root completo, recursos escaláveis e preços económicos tornam 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 máximo desempenho de CPU, RAM e armazenamento para executar dezenas de containers simultaneamente.
- GPU Hosting — Perfeito para cargas de trabalho AI/ML executadas dentro de containers Docker que requerem aceleração GPU para treinamento ou inferência de modelos.
- VPS com cPanel — Se você precisa de Docker juntamente com um painel de controlo amigável para gerenciar websites e email, esta combinação oferece o melhor dos dois mundos.
Resolução de Problemas Comuns do Docker no CentOS
Docker Daemon Falha ao Iniciar
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 é Possível Extrair 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 Container
Reinicie o Docker para reinicializar as pontes de rede:
sudo systemctl restart dockerConclusão
Instalou com sucesso o Docker no CentOS e tem uma base sólida para trabalhar com containers. Aqui está um resumo rápido do que foi abordado:
- ✅ Atualizou o sistema e instalou dependências
- ✅ Adicionou o repositório oficial do Docker
- ✅ Instalou o Docker CE e verificou a instalação
- ✅ Configurou o Docker para iniciar no boot
- ✅ Configurou acesso de utilizador não-root
- ✅ Aprendeu comandos essenciais do Docker
- ✅ Instalou Docker Compose para gestão multi-container
- ✅ Explorou opções de configuração do daemon
Docker no CentOS abre um mundo de possibilidades — desde executar ambientes de desenvolvimento isolados até implementar arquiteturas de microsserviços escaláveis em produção. As competências de containerização que desenvolve aqui servirão como base para tópicos mais avançados como orquestração Kubernetes, pipelines CI/CD e desenvolvimento de aplicações cloud-native.
Para a melhor experiência com Docker, certifique-se de que o seu ambiente de servidor está à altura da tarefa. Explore os planos de Alojamento VPS da AlexHost para uma base poderosa, fiável e acessível para todas as suas cargas de trabalho containerizadas.
em todos os serviços de alojamento