Pesquisa de site

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.

  1. Sistemas operacionais Linux ou Windows de 64 bits.
  2. Se você estiver no Linux, a versão do Kernel deve ser 3.10 ou superior.
  3. Uma conta de usuário com privilégios sudo.
  4. Suporte a VT (tecnologia de virtualização) ativado no BIOS do sistema. [Leia: Como descobrir se uma CPU suporta tecnologia de virtualização (VT)]
  5. 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"

Artigos relacionados