Instalando Docker CE no Oracle Linux 9

Introdução:

O Oracle Linux é um sistema operacional de código aberto baseado no RHEL, que oferece uma excelente alternativa ao CentOS e RHEL. O Oracle Linux 9 é a versão mais recente desta série e é uma ótima opção para substituir o CentOS 8, que atingiu o fim de sua vida útil. Com suporte a uma variedade de serviços e aplicativos, o Oracle Linux é ideal para hospedagem web e muito mais. Neste artigo, vamos explorar o Docker, uma tecnologia de virtualização de sistema operacional de código aberto, e como utilizá-lo no Oracle Linux 9.

O que é o Docker:

O Docker é uma tecnologia de virtualização de sistema operacional que permite executar aplicativos de software em contêineres. Ele é compatível com Linux, Windows e macOS, e oferece a capacidade de isolar e empacotar aplicativos com todas as suas dependências em um ambiente autônomo. Com o Docker, você pode criar, implantar e gerenciar contêineres de forma eficiente e escalável.

Docker CE (Community Edition) e Docker EE (Enterprise Edition):

O Docker está disponível em duas versões principais: Docker CE (Community Edition) e Docker EE (Enterprise Edition).

Docker CE: É a versão de código aberto do Docker, que permite executar e implantar contêineres gratuitamente. É uma opção ideal para desenvolvedores e usuários que desejam aproveitar todos os recursos do Docker sem custo.

Utilizando o Docker no Oracle Linux 9:

No Oracle Linux 9, você pode aproveitar o poder do Docker para criar e gerenciar contêineres de forma eficiente. O Docker permite que você empacote seus aplicativos com todas as suas dependências em um contêiner isolado, garantindo portabilidade, escalabilidade e facilidade de implantação.

Além do Docker, no Oracle Linux 9, você também tem a opção de usar o Podman, um mecanismo de contêiner sem daemon e rootless desenvolvido pela Red Hat. O Podman oferece uma alternativa ao Docker CE, fornecendo recursos semelhantes e uma experiência de contêiner simplificada.

Instalação do Docker CE no Oracle Linux 9

Preparação do sistema

Execute o comando abaixo para reconstruir o cache e atualizar os pacotes instalados

$ sudo yum update

Adicione o repositório Docker ao Oracle Linux 9

Primeiro instalamos os utilitários necessários para habilitar o repositório no sistema

$ sudo yum install -y yum-utils

Use o yum-config-manger tool para adicionar o repositório  docker no Oracle Linux 9.

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo

Confirme na lista de repositórios instalados

$ sudo dnf repolist

repo id                                                                                  repo name

docker-ce-stable                                                                         Docker CE Stable - x86_64

ol9_UEKR7                                                                                Oracle Linux 9 UEK Release 7 (x86_64)

ol9_appstream                                                                            Oracle Linux 9 Application Stream Packages (x86_64)

ol9_baseos_latest                                                                        Oracle Linux 9 BaseOS Latest  (x86_64)

Remova instalação existente do Docker Engine antes de seguir com a instalação do Docker CE no Oracle Linux 9. 

$ sudo dnf remove docker docker-* podman runc

No match for argument: docker

No match for argument: runc

Dependencies resolved.

==========================================================================================================================================

 Package                               Architecture         Version                                Repository                        Size

==========================================================================================================================================

Removing:

 container-selinux                     noarch               3:2.221.0-1.el9                        @AppStream                        66 k

 podman                                x86_64               2:4.6.1-8.0.1.el9_3                    @ol9_appstream                    51 M

Removing dependent packages:

 cockpit-podman                        noarch               76-1.el9_3                             @AppStream                       741 k

 selinux-policy                        noarch               38.1.23-1.0.2.el9_3.2                  @ol9_baseos_latest                25 k

 selinux-policy-targeted               noarch               38.1.23-1.0.2.el9_3.2                  @ol9_baseos_latest                18 M

Removing unused dependencies:

 conmon                                x86_64               2:2.1.8-1.el9                          @AppStream                       170 k

 rpm-plugin-selinux                    x86_64               4.16.1.3-27.0.1.el9_3                  @ol9_baseos_latest                16 k

 shadow-utils-subid                    x86_64               2:4.9-8.el9                            @anaconda                        215 k


Transaction Summary

==========================================================================================================================================

Remove  8 Packages


Freed space: 70 M

Is this ok [y/N]: y

Instalando o Docker CE no Oracle Linux 9

Com o repositório adicionado e os pacotes antigos removidos , podemos iniciar a instalação  do Docker CE no Oracle Linux 9.  Execute o seguinte comando para inicial a instalação:

$ sudo yum install docker-ce docker-ce-cli containerd.io

Transaction Summary

Na tela seguinte confirme e aceite a instalação dos pacotes:

===================================================================================================================================================================================================================

Install  9 Packages


Total download size: 106 M

Installed size: 404 M

Is this ok [y/N]: Y

Aceite a importação da chave GPG

....

Docker CE Stable - x86_64                                                                                 481  B/s | 1.6 kB     00:03

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

Iniciando o Docker no Oracle Linux 9

Agora que a instalação foi concluída e bem-sucedida, inicie o serviço Docker usando o comando abaixo. 

$ sudo systemctl start docker

Habilite o Docker para fazê-lo iniciar automaticamente quando o sistema for inicializado. 

$ sudo systemctl enable docker

Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.

Verifique o status para confirmar se o serviço Docker está funcionando conforme o esperado. 

$ sudo systemctl status docker

● docker.service - Docker Application Container Engine

     Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; preset: disabled)

     Active: active (running) since Mon 2024-04-22 20:03:27 JST; 10s ago

TriggeredBy: ● docker.socket

       Docs: https://docs.docker.com

   Main PID: 3944 (dockerd)

      Tasks: 9

     Memory: 30.0M

        CPU: 609ms

     CGroup: /system.slice/docker.service

             └─3944 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock


Por padrão, a execução de qualquer comando do Docker precisa de privilégios de root. Portanto, como um usuário normal, você precisará do comando sudo para acessar o docker, caso contrário, receberá um erro de permissão negada. Para permitir que um usuário normal (sem sudo) tenha o acesso ao Docker , você precisará adicionar este usuário ao grupo docker.

$ sudo usermod -aG docker $USER

$ newgrp docker

Testando e usando o Docker CE no Oracle Linux 9. 

Vamos criar nosso primeiro contêiner docker do servidor web Nginx para testar e verificar nossa instalação. Para conseguir isso, execute o comando abaixo no terminal para obter a imagem Nginx.

 $ docker pull nginx

Using default tag: latest

latest: Pulling from library/nginx

1efc276f4ff9: Pull complete 

baf2da91597d: Pull complete 

05396a986fd3: Pull complete 

6a17c8e7063d: Pull complete 

27e0d286aeab: Pull complete 

b1349eea8fc5: Pull complete 

Digest: sha256:790711e34858c9b0741edffef6ed3d8199d8faa33f2870dea5db70f16384df79

Status: Downloaded newer image for nginx:latest

docker.io/library/nginx:latest

Agora use o comando docker run para implantar o contêiner Nginx no Oracle Linux 9. 

$ docker run --name webserver -d nginx-docker

1bace8df21fa51688d35e8ee0253f10ecf0e3c6f800c30d27c78336b24db2394

Visualize e verifique seu contêiner implantado.

$ docker ps

CONTAINER ID   IMAGE     COMMAND                  CREATED              STATUS              PORTS     NAMES

1bace8df21f   nginx-docker     "/docker-entrypoint.…"   About a minute ago   Up Abo

Conclusão:

O Docker é uma tecnologia poderosa que permite a criação e implantação de contêineres de forma eficiente. No Oracle Linux 9, você tem a oportunidade de aproveitar todo o potencial do Docker para isolar, empacotar e executar seus aplicativos com facilidade. Combinado com a flexibilidade e recursos do Oracle Linux 9, você pode criar ambientes de desenvolvimento e implantação robustos. Explore o Docker no Oracle Linux 9 e aproveite os benefícios dessa tecnologia versátil.