Instalando Docker CE

Por padrão, o Fedora CoreOS vem com suporte pronto para uso para a CLI do docker (conforme fornecido por Moby). No entanto, em alguns casos, o Docker Community Edition (CE) pode ser preferível por vários motivos. Esta página explica como substituir a versão fornecida pela mais recente dos códigos-fonte do Docker upstream.

A abordagem recomendada na documentação oficial do Docker é adicionar o repositório do Docker ao seu sistema. Você pode então instalar e atualizar o Docker CE a partir deste repositório.

Instalando o Docker CE na primeira inicialização

No provisionamento, você pode instalar o Docker CE durante a primeira inicialização do sistema por meio da configuração de ignição.

Exemplo de configuração do Butane para configurar o Docker CE
variant: fcos
version: 1.6.0
systemd:
  units:
    # Instala o Docker CE
    - name: rpm-ostree-install-docker-ce.service
      enabled: true
      contents: |
        [Unit]
        Description=Install Docker CE
        Wants=network-online.target
        After=network-online.target
        Before=zincati.service
        ConditionPathExists=!/var/lib/%N.stamp

        [Service]
        Type=oneshot
        RemainAfterExit=yes
        ExecStart=/usr/bin/curl --output-dir "/etc/yum.repos.d" --remote-name https://download.docker.com/linux/fedora/docker-ce.repo
        ExecStart=/usr/bin/rpm-ostree override remove moby-engine containerd runc docker-cli --install docker-ce
        ExecStart=/usr/bin/touch /var/lib/%N.stamp
        ExecStart=/usr/bin/systemctl --no-block reboot

        [Install]
        WantedBy=multi-user.target

Instalando o Docker CE em um sistema em execução

Primeiro, baixe e configure o repositório do Docker. Em seguida, você precisa remover o moby-engine e vários outros pacotes conflitantes fornecidos por padrão na imagem do Fedora CoreOS, instalar os pacotes do Docker CE necessários e reiniciar o sistema.

curl --remote-name https://download.docker.com/linux/fedora/docker-ce.repo
sudo install --owner 0 --group 0 --mode 644 docker-ce.repo /etc/yum.repos.d/docker-ce.repo
sudo rpm-ostree override remove moby-engine containerd runc docker-cli --install docker-ce --reboot

Atualizando Docker CE

O Docker CE deve ser atualizado automaticamente com cada nova versão do Fedora CoreOS.

Se você tiver o Docker CE instalado e ainda estiver usando o Fedora CoreOS 40, a atualização para o Fedora CoreOS 41 provavelmente falhará. Isso se deve ao novo pacote docker-cli adicionado no Fedora CoreOS 41 e versões posteriores. Para atualizar para o Fedora CoreOS 41, você precisará redefinir as substituições e desinstalar os pacotes em camadas do Docker CE com o seguinte comando.

sudo rpm-ostree override reset containerd moby-engine runc --uninstall docker-ce

Após atualizar para o Fedora CoreOS 41, você pode seguir as instruções em Instalando o Docker CE em um sistema em execução.