Para uma melhor experiência com caixas de código, experimente ver o site em um Desktop.
Como instalar o Docker CE no Oracle Linux 9? Neste tutorial, você vai remover versões antigas do Docker e o Podman, adicionar o repositório oficial do Docker, instalar o Docker CE, iniciar o serviço e testar com um container nginx. Os mesmos comandos funcionam no Rocky Linux 9 e no AlmaLinux 9, que também são compatíveis com o RHEL 9.
O Oracle Linux é uma distribuição de código aberto baseada no RHEL. Com o fim do CentOS 8, ele virou uma das alternativas mais usadas para servidores web e laboratórios, e é a base de toda esta trilha.
Antes de começar, você precisa de um servidor Oracle Linux 9 com acesso à internet e de um usuário com sudo.
O Docker empacota uma aplicação com tudo o que ela precisa (bibliotecas, configurações e dependências) em uma imagem. A partir dessa imagem você cria containers: processos isolados que rodam do mesmo jeito no seu laboratório, no servidor de teste e em produção. Diferente de uma máquina virtual, o container não carrega um sistema operacional inteiro, por isso sobe em segundos e usa pouca memória.
O Docker existia em duas versões: Docker CE (Community Edition), gratuito e de código aberto, e Docker EE (Enterprise Edition), pago e com suporte. O Docker EE foi vendido para a Mirantis em 2019 e hoje se chama Mirantis Container Runtime. Para servidores e laboratórios, o Docker CE é o que usamos aqui.
Comece atualizando os pacotes do sistema, para instalar o Docker sobre uma base atual.
sudo dnf update -y
O Oracle Linux 9 pode trazer o Podman e o runc, que conflitam com os pacotes do Docker. Remova também qualquer instalação antiga do Docker Engine antes de seguir.
Atenção: se você já usa o Podman neste servidor, os containers dele deixam de funcionar. Para voltar, reinstale com sudo dnf install podman.
sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine podman runc
Se o dnf disser que nenhum desses pacotes está instalado, está tudo certo: o sistema já estava limpo.
O Docker CE não vem nos repositórios do Oracle Linux. Primeiro, instale o plugin que traz o comando config-manager do dnf:
sudo dnf install -y dnf-plugins-core
Agora, adicione o repositório oficial do Docker para RHEL, que atende o Oracle Linux 9 e o Rocky Linux 9:
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
Para conferir, liste os repositórios ativos. O docker-ce-stable deve aparecer na lista:
sudo dnf repolist
Instale o Docker CE, a linha de comando, o containerd e os plugins Buildx e Compose. O plugin Compose é o que usamos nos exemplos do próximo post da trilha.
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Na primeira instalação, o dnf pede para importar a chave GPG do repositório. Confira se a impressão digital é 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 e aceite.
O serviço não sobe sozinho depois da instalação. O comando abaixo inicia o Docker agora e configura para subir junto com o sistema:
sudo systemctl enable --now docker
Confira se o serviço está ativo. A linha Active deve mostrar active (running):
sudo systemctl status docker
Por padrão, só o root fala com o Docker. Para usar com o seu usuário, adicione-o ao grupo docker:
Atenção: quem está no grupo docker tem, na prática, acesso de root ao servidor. Adicione só administradores. Para desfazer: sudo gpasswd -d $USER docker.
sudo usermod -aG docker $USER
O grupo novo só vale em uma nova sessão. Para aplicar sem sair e entrar de novo, use:
newgrp docker
Para testar, baixe a imagem oficial do nginx:
docker pull nginx
Crie um container chamado webserver a partir dessa imagem, rodando em segundo plano (-d):
docker run --name webserver -d nginx
Liste os containers em execução:
docker ps
A saída deve mostrar o webserver com o status Up:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1bace8df21f0 nginx "/docker-entrypoint.…" About a minute ago Up About a minute 80/tcp webserver
O CONTAINER ID e os tempos mudam no seu servidor. O que importa é o STATUS Up e o nome webserver.
Quando terminar o teste, pare e remova o container:
docker rm -f webserver
Podman e versões antigas do Docker removidos
Repositório docker-ce-stable aparece no dnf repolist
docker-ce, docker-ce-cli, containerd.io e os plugins Buildx e Compose instalados
Serviço docker ativo e habilitado no boot
Seu usuário no grupo docker, sem precisar de sudo
Container nginx criado, listado com status Up e removido
Com o Docker CE instalado e testado, o servidor está pronto para rodar aplicações em containers. No próximo post da trilha, você vai conhecer os comandos básicos do Docker que usamos no dia a dia.
Esta série tem quatro posts. Siga na ordem para ir da instalação do Docker até aplicações rodando em containers.
Instalando Docker no Oracle Linux 9 (você está aqui)