Skip to content

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.

docker 2 min read
como instalar docker no rocky linux 9
como instalar docker no rocky linux 9

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

Terminal window
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
runc

Se não tiver nada instalado, o DNF simplesmente vai informar que os pacotes não foram encontrados — normal.

Terminal window
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

O Rocky Linux 9 é compatível com o repositório RHEL da Docker, Inc.

Terminal window
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Esse comando instala:

  • docker-ce — o engine principal
  • docker-ce-cli — a CLI
  • containerd.io — runtime de containers
  • docker-buildx-plugin — build multiplataforma
  • docker-compose-plugin — Docker Compose v2 (comando docker compose)

Terminal window
sudo systemctl start docker
sudo systemctl enable docker

Verificar se está rodando:

Terminal window
sudo systemctl status docker

Saí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:

Terminal window
sudo usermod -aG docker $USER
newgrp docker

Importante: O newgrp docker aplica 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:

Terminal window
sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0
sudo firewall-cmd --reload

Se você usa Docker Swarm ou precisa de mais controle, considere desabilitar o firewalld e usar apenas as regras do Docker:

Terminal window
# apenas se souber o que está fazendo
sudo systemctl disable --now firewalld

Terminal window
docker run --rm hello-world

Saída esperada:

Hello from Docker!
This message shows that your installation appears to be working correctly.

Terminal window
docker compose version
Docker Compose version v2.x.x

permission 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 -f semanalmente para limpar imagens e containers parados
  • Em produção, configure o daemon.json com 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.