Instalar Docker no Fedora 31

Este artigo tem por objetivo registrar os procedimentos utilizados na instalação da aplicação de conteinerização Docker no Linux Fedora 31. Essa distribuição acabou por incorporar por padrão a aplicação Podman utilizando uma nova versão do módulo CGroup, fundamental para o gerenciamento de containers. Será utilizado o gerenciador de pacotes yum no processo de instalação.

Adicionar o Repositório

A comunidade do Fedora disponibiliza, para a versão 31, um arquivo configurado para o gerenciados yum. Basta baixá-lo no diretório de de configuração de repositório da aplicação:

cd /etc/yum.repos.d
sudo wget https://download.docker.com/linux/fedora/docker-ce.repo

Instalação

Basta executar o yum para instalação do pacote docker-ce, conforme mostrado abaixo. Haverá uma relação de aplicações auxiliares, porém, necessárias, na instalação:

sudo yum install docker-ce

Habilitar o Deamon

Temos que habilitar e inicializar o deamon do docker. Para isso utilizamos o comando abaixo:

sudo systemctl enable --now docker

Será criado um link simbólico com os executáveis de inicialização do systemd, além de inicializada a aplicação daemon: Verifique que está sendo executado:

systemctl status docker

Permissão de Usuário

Neste ponto temos que dar permissão de operação do docker para o usuário. Normalmente, a instalação já cria um grupo de usuários chamado docker, verifique com o comando:

cat /etc/group

Caso não exista crie o grupo com o comando:

sudo groupadd docker

Aplique ao seu usuário a permissão de grupo:

sudo usermod -aG docker <user>

Poderá ser necessário deslogar e logar seu usuário para que as alterações sensibilizem o gerenciador de permissões.

Teste Hello World

Uma boa prática é testar o docker antes de comemorar:

docker run hello-world

Caso você tenha recebido uma mensagem do tipo: "Error response from daemon: cgroups: cgroup mountpoint does not exist", a forma mais prática de solucionar o problema é habilitar a compatibilidade do módulo cgroups no kernel:

sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"

Uma opção alternativa é a construção do diretório e sua consequente montagem, porém, não é uma solução definitiva pois deve ser realizada toda vez que reinicia o sistema:

sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd