Como instalar o Docker no Rocky Linux 9 (passo a passo completo)
Aprenda a instalar e configurar o Docker CE no Rocky Linux 9 com Docker Compose, ajustes de firewall e primeiros containers rodando em produção.
O Rocky Linux 9 é uma das distribuições mais usadas em ambientes de produção empresarial — e o Docker é ferramenta obrigatória em qualquer servidor moderno. Neste guia você vai instalar o Docker CE do zero, configurar o Docker Compose e ter seu primeiro container rodando em menos de 10 minutos.
- Adicionar o repositório oficial do Docker no Rocky Linux 9
- Instalar Docker CE + Docker Compose Plugin
- Configurar o usuário para rodar Docker sem
sudo - Ajustar o firewalld para não conflitar com o Docker
- Rodar o primeiro container de teste
- Rocky Linux 9 instalado (minimal ou server)
- Acesso root ou usuário com
sudo - Conexão com internet
sudo dnf remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine \ podman \ runcSe não tiver nada instalado, o DNF simplesmente vai informar que os pacotes não foram encontrados — normal.
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repoO Rocky Linux 9 é compatível com o repositório RHEL da Docker, Inc.
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginEsse comando instala:
docker-ce— o engine principaldocker-ce-cli— a CLIcontainerd.io— runtime de containersdocker-buildx-plugin— build multiplataformadocker-compose-plugin— Docker Compose v2 (comandodocker compose)
sudo systemctl start dockersudo systemctl enable dockerVerificar se está rodando:
sudo systemctl status dockerSaída esperada:
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled) Active: active (running)Sem isso, você precisaria de sudo em todo comando Docker:
sudo usermod -aG docker $USERnewgrp dockerImportante: O
newgrp dockeraplica a mudança na sessão atual sem precisar fazer logout. Em servidores remotos via SSH, é mais seguro fazer logout e login novamente.
O Docker cria suas próprias regras de iptables, o que pode conflitar com o firewalld em Rocky Linux 9. A solução mais limpa:
sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0sudo firewall-cmd --reloadSe você usa Docker Swarm ou precisa de mais controle, considere desabilitar o firewalld e usar apenas as regras do Docker:
# apenas se souber o que está fazendosudo systemctl disable --now firewallddocker run --rm hello-worldSaída esperada:
Hello from Docker!This message shows that your installation appears to be working correctly.docker compose versionDocker Compose version v2.x.xpermission denied while trying to connect to the Docker daemon socket
Você ainda não está no grupo docker. Rode newgrp docker ou faça logout/login.
Error response from daemon: driver failed programming external connectivity
Conflito com firewalld. Aplique o passo 6 acima.
Cannot connect to the Docker daemon at unix:///var/run/docker.sock
O serviço não está rodando. Rode sudo systemctl start docker.
- Mantenha o Docker atualizado com
sudo dnf update docker-ce - Use
docker system prune -fsemanalmente para limpar imagens e containers parados - Em produção, configure o
daemon.jsoncom log rotation:
{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" }}Salve em /etc/docker/daemon.json e reinicie: sudo systemctl restart docker
Com o Docker instalado no Rocky Linux 9, você tem a base para rodar qualquer stack moderna — seja um Next.js em produção, um banco PostgreSQL isolado ou um conjunto de microserviços com Docker Compose. O próximo passo é aprender a criar um docker-compose.yml para subir múltiplos serviços com um único comando.