Instale o Docker no AlmaLinux, CentOS, Rocky Linux
Um guia passo a passo para instalar o Docker Engine com Docker Compose no AlmaLinux, CentOS, Rocky Linux
Outro dia, discutimos o que é o Docker Engine e como instalar o Docker Engine e o Docker Compose no Ubuntu. Hoje, veremos como instalar o Docker Engine com Docker Compose em sistemas baseados em RHEL, como AlmaLinux, CentOS e Rocky Linux.
Este guia foi testado oficialmente no CentOS 8, AlmaLinux 8 e Rocky Linux 8. Para fins de demonstração, usarei o contêiner AlmaLinux que está rodando no Proxmox. Todos os comandos fornecidos abaixo são iguais para a maioria dos sistemas baseados em RHEL.
Requisitos do Docker
Para instalar e configurar o Docker, seu sistema deve atender aos seguintes requisitos mínimos.
- Sistemas operacionais Linux ou Windows de 64 bits.
- Se você estiver no Linux, a versão do Kernel deve ser 3.10 ou superior.
- Uma conta de usuário com privilégios
sudo
. - Suporte a VT (tecnologia de virtualização) ativado no BIOS do sistema. [Leia: Como descobrir se uma CPU suporta tecnologia de virtualização (VT)]
- Seu sistema deve estar conectado à Internet.
No Linux, para verificar os detalhes do kernel e da arquitetura, execute o seguinte comando no Terminal:
uname -a
Exemplo de resultado:
Linux Almalinux8CT 5.15.35-3-pve #1 SMP PVE 5.15.35-6 (Fri, 17 Jun 2022 13:42:35 +0200) x86_64 x86_64 x86_64 GNU/Linux
Como você pode ver na saída acima, a versão do kernel do meu sistema AlmaLinux é 5.15.35-3-pve e a arquitetura do meu sistema é 64 bits (x86_64 x86_64 x86_64 GNU /Linux). Verifique as letras em negrito no resultado acima.
Atenção: Aqui, estou usando o contêiner AlmaLinux 8 no Proxmox. É por isso que você vê a palavra “pve” na versão do kernel na saída acima. Se você estiver usando uma máquina física (ou virtual) AlmaLinux, você verá 5.15.35-3-generic como versão do kernel.
Bem, a versão do Kernel é superior ao requisito mínimo e o arco é de 64 bits. Assim, podemos instalar e usar o Docker sem problemas.
Instale Docker no CentOS, AlmaLinux, Rocky Linux
Certifique-se de estar executando um sistema operacional atualizado.
1. Atualize seu sistema
Execute os seguintes comandos um por um como usuário sudo
ou usuário root
para atualizar seu sistema CentOS/AlmaLinux/Rocky Linux.
sudo dnf --refresh update
sudo dnf upgrade
2. Adicionar repositório Docker
Instale o pacote yum-utils, que fornece o utilitário yum-config-manager para configurar repositórios.
sudo dnf install yum-utils
Em seguida, adicione o repositório Docker usando yum-config-manger conforme mostrado abaixo:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3. Instale o Docker
Instale o Docker Engine no CentOS, AlmaLinux e Rocky Linux usando o comando:
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Após o download dos pacotes Docker, você será solicitado a importar a chave Docker GPG. Certifique-se de que a impressão digital corresponda a 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
e, em caso afirmativo, aceite-a.
Importing GPG key 0x621E9F35:
Userid : "Docker Release (CE rpm) <docker@docker.com>"
Fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
From : https://download.docker.com/linux/centos/gpg
Is this ok [y/N]: y
Instale Docker no CentOS, AlmaLinux, Rocky Linux
Assim que a instalação do Docker for concluída, execute os seguintes comandos para habilitar e iniciar o serviço Docker.
sudo systemctl enable docker
sudo systemctl start docker
Verifique se o serviço Docker está em execução ou não com o comando:
sudo systemctl status docker
Exemplo de resultado:
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Drop-In: /run/systemd/system/docker.service.d
└─zzz-lxc-service.conf
Active: active (running) since Tue 2022-06-28 08:17:02 UTC; 8s ago
Docs: https://docs.docker.com
Main PID: 2748 (dockerd)
Tasks: 8
Memory: 28.5M
CGroup: /system.slice/docker.service
└─2748 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.167563866Z" level=info msg="ClientConn switching balancer to \"pick_first\""
module=grpc
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.169600819Z" level=error msg="Failed to built-in GetDriver graph btrfs /var/l
ib/docker"
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.203579593Z" level=info msg="Loading containers: start."
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.350067769Z" level=info msg="Default bridge (docker0) is assigned with an IP
address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.410223534Z" level=info msg="Loading containers: done."
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.415653550Z" level=warning msg="Not using native diff for overlay2, this may
cause degraded performance for building images: running in a user namespace" storage-driver=overlay2
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.415810806Z" level=info msg="Docker daemon" commit=a89b842 graphdriver(s)=ove
rlay2 version=20.10.17
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.415902359Z" level=info msg="Daemon has completed initialization"
Jun 28 08:17:02 Almalinux8CT systemd[1]: Started Docker Application Container Engine.
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.447662377Z" level=info msg="API listen on /var/run/docker.sock"
Como você pode ver na saída acima, o serviço Docker está instalado e funcionando!
4. Verifique a versão do Docker
A versão instalada do Docker pode ser encontrada usando o comando:
sudo docker version
Exemplo de resultado:
Client: Docker Engine - Community
Version: 20.10.17
API version: 1.41
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 23:03:11 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Go version: go1.17.11
Git commit: a89b842
Built: Mon Jun 6 23:01:29 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.6
GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
runc:
Version: 1.1.2
GitCommit: v1.1.2-0-ga916309
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Verifique a versão do Docker no AlmaLinux
5. Testando Docker
Vamos em frente e testar se o Docker está funcionando ou não. Podemos executar uma imagem docker hello-world para verificar se o Docker está instalado e funcionando corretamente.
Para fazer isso, execute:
sudo docker run hello-world
O comando acima baixará uma imagem de teste do Docker e executará um programa hello_world de amostra dentro do contêiner.
Se você vir uma saída parecida com a abaixo, parabéns! O Docker está funcionando bem no seu sistema CentOS/AlmaLinux/Rocky Linux.
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:13e367d31ae85359f42d637adf6da428f76d75dc9afeb3c21faea0d976f5c651
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Execute o contêiner Hello World Docker no AlmaLinux
Docker está pronto para uso!
Instalei o Docker, e agora? Confira o próximo artigo desta série para aprender os fundamentos do Docker.
- Introdução ao Docker
6. Atualize o Docker
Como instalamos o Docker usando o repositório, podemos atualizar o mecanismo Docker para a versão mais recente disponível simplesmente executando os seguintes comandos:
sudo dnf --refresh update
sudo dnf upgrade
Instale o Docker Compose
Docker Compose é uma ferramenta que pode ser usada para definir e executar aplicativos Docker com vários contêineres. Com o Compose, você usa um arquivo Compose para configurar os serviços do seu aplicativo. Então, usando um único comando, você pode criar e iniciar todos os serviços da sua configuração.
Podemos instalar o Docker Compose usando qualquer um dos métodos a seguir.
Método 1 - Instalar Docker Compose usando binário
Baixe o Docker Compose mais recente aqui.
No momento em que escrevo isto, a versão mais recente era 2.6.1.
Execute o seguinte comando para baixar o arquivo de composição do Docker estável mais recente:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Se uma nova versão estiver disponível, basta substituir o número v2.6.1 no comando acima pelo número da nova versão. Não se esqueça de colocar "v" antes do número da versão.
Finalmente, aplique permissões executáveis ao binário usando o comando:
sudo chmod +x /usr/local/bin/docker-compose
Para verificar a versão instalada do docker compositor, execute:
docker-compose version
Docker Compose version v2.6.1
Método 2 - Instalar Docker Compose usando PiP
Alternativamente, podemos instalar o Docker Compose usando PIP. Pip é um gerenciador de pacotes python usado para instalar aplicativos escritos na linguagem de programação Python.
Consulte o guia a seguir para instalar o Pip em seu sistema.
- Como gerenciar pacotes Python usando Pip
Depois de instalar o pip, execute o seguinte comando para instalar o docker compose. O comando a seguir é o mesmo para todas as distribuições Linux!
pip install docker-compose
Após instalar o Docker Compose, você pode verificar a versão com o comando:
docker-compose --version
Você verá uma saída semelhante a abaixo.
docker-compose version 2.6.1, build 8a1c60f6
Parabéns! Instalamos com sucesso o Docker Community Edition e o Docker Compose.
Leia nosso guia introdutório ao Docker Compose para aprender como usar o Docker Compose em tempo real para definir e gerenciar contêineres.
- Introdução ao Docker Compose no Linux
Atualizar Docker Compose
Para atualizar o Docker Compose, basta baixar o arquivo do pacote mais recente e repetir as instruções de instalação conforme mostrado no Método 1. Se você instalou o Compose usando Pip, você pode atualizar o Docker Compose usando o seguinte comando:
pip install --upgrade docker-compose
Desinstalar o Docker Engine
Para remover o Docker Engine do seu sistema CentOS, AlmaLinux e Rock Linux, execute:
sudo dnf remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
As imagens, contêineres, volumes ou arquivos de configuração personalizados do Docker em seu sistema não são removidos automaticamente.
Você deve excluir manualmente todas as imagens, contêineres e volumes usando os seguintes comandos:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
Desinstalar Docker Compose
Se você instalou o Compose usando um arquivo binário, simplesmente remova-o do caminho /usr/local/bin/
.
sudo rm /usr/local/bin/docker-compose
Se você instalou o Compose usando PiP, execute o seguinte comando para remover o Docker Compose:
pip uninstall docker-compose
Conclusão
Sabemos como instalar Docker Engine e Docker Compose no CentOS, AlmaLinux e Rocky Linux. Também aprendemos como testar o mecanismo Docker executando uma imagem básica do docker hello-world. Por fim, vimos como remover o Docker Engine e o Docker Compose quando eles não forem mais necessários.
Leitura sugerida:
- Configure o Docker e o Docker Compose com DockSTARTer
- Como atualizar automaticamente contêineres Docker em execução
- ctop – Uma ferramenta de monitoramento de linha de comando para contêineres Linux
- Portiner – uma maneira mais fácil de gerenciar o Docker
- PiCluster – um aplicativo de gerenciamento Docker simples baseado na Web
- Dockly - Gerencie contêineres Docker a partir do terminal
Recurso:
- Site Docker
E-book gratuito do Docker:
- E-book gratuito: "Livro de receitas de conteinerização do Docker"