Todos os produtos
Search
Central de documentação

Simple Application Server:Manually deploy Docker

Última atualização: Jul 03, 2026

Este tópico descreve como instalar o Docker e o Docker Compose em uma instância Linux do Simple Application Server e como implantar aplicações conteinerizadas.

Para uma configuração automatizada rápida, consulte Implantar o Docker rapidamente . Para a documentação do Docker, veja a Visão geral do Docker .

Pré-requisitos

Antes de começar, verifique se você tem:

Sistemas operacionais compatíveis

Sistema operacional

Gerenciador de pacotes

Alibaba Cloud Linux 4

yum / dnf

Alibaba Cloud Linux 3

dnf

Alibaba Cloud Linux 2

yum

Ubuntu

apt

Debian

apt

Red Hat

yum

Fedora

dnf

Anolis OS

yum

CentOS 7.x

yum

CentOS 8.x

dnf

Instalar o Docker

  1. Conecte-se à sua instância do Simple Application Server. Consulte Conectar remotamente a um servidor Linux.

  2. Siga as etapas correspondentes ao seu sistema operacional.

Alibaba Cloud Linux 4

O Alibaba Cloud Linux 4 vem com o Moby como runtime de contêiner padrão. Escolha uma das opções abaixo conforme sua necessidade:

Opção

Quando usar

Moby (recomendado)

Padrão para a maioria das cargas de trabalho. Mantido pela Alibaba Cloud, otimizado para o Alibaba Cloud Linux 4 e atualizado junto com o SO.

Docker CE

Use quando precisar de recursos do Docker Community Edition não disponíveis no Moby ou quando exigir uma versão específica do Docker.

Etapa 1: Remover componentes existentes do Docker

Antes da instalação, remova quaisquer componentes existentes do Docker para evitar conflitos.

# Remove Docker-related package repositories
sudo rm -f /etc/yum.repos.d/docker*.repo

# Uninstall Docker and related packages
sudo dnf -y remove \
  docker \
  moby \
  docker-ce \
  containerd.io \
  docker-ce-rootless-extras \
  docker-buildx-plugin \
  docker-ce-cli \
  docker-compose-plugin

A desinstalação do Docker não remove imagens, contêineres, volumes ou redes. Esses itens ficam armazenados em /var/lib/docker/ por padrão. Para removê-los, exclua esse diretório manualmente.

Etapa 2: Instalar o Docker

Opção A: Instalar o Moby (recomendado)

sudo yum install -y moby
O Moby é o runtime de contêiner padrão no Alibaba Cloud Linux 4 e continuará recebendo atualizações nas versões futuras. Componentes mais antigos do Docker permanecem disponíveis para compatibilidade futura, mas não receberão mais atualizações.

Opção B: Instalar o Docker CE

Se você não estiver usando um servidor da Alibaba Cloud, substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com .
# Add the Docker CE package repository
sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo

# Select a CentOS version: replace $releasever with 9 or 10
# To use CentOS 9:
sudo sed -i 's|$releasever|9|' /etc/yum.repos.d/docker-ce.repo
# To use CentOS 10:
sudo sed -i 's|$releasever|10|' /etc/yum.repos.d/docker-ce.repo

# Install Docker CE, containerd.io, and the Buildx and Compose plugins
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Para voltar ao Moby posteriormente:

sudo yum remove -y docker-ce docker-ce-cli
sudo rm -rf /etc/yum.repos.d/docker-ce.repo

Etapa 3: Iniciar o Docker

# Start Docker and enable it to start on boot
sudo systemctl start docker
sudo systemctl enable docker

# Verify the installation
docker --version

Execute sudo systemctl status docker para confirmar se o serviço está ativo:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
   Active: active (running) since ...

Alibaba Cloud Linux 3

Etapa 1: Remover componentes existentes do Docker

# Remove Docker-related package repositories
sudo rm -f /etc/yum.repos.d/docker*.repo

# Uninstall Docker and related packages
# You can ignore messages about packages that are not installed.
sudo dnf -y remove \
  docker-ce \
  containerd.io \
  docker-ce-rootless-extras \
  docker-buildx-plugin \
  docker-ce-cli \
  docker-compose-plugin

A desinstalação do Docker não remove imagens, contêineres, volumes ou redes. Esses itens ficam armazenados em /var/lib/docker/ por padrão. Para removê-los, exclua esse diretório manualmente.

Etapa 2: Instalar o Docker CE

Se você não estiver usando um servidor da Alibaba Cloud, substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com .
# Add the Docker package repository
sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo

# Install the dnf repository compatibility plugin for Alibaba Cloud Linux 3
sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus

# Install Docker CE, containerd.io, and the Buildx and Compose plugins
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Etapa 3: Iniciar o Docker

sudo systemctl start docker
sudo systemctl enable docker

Verifique se o serviço está ativo:

sudo systemctl status docker

Saída esperada:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
   Active: active (running) since ...

Ubuntu

Etapa 1: Remover componentes existentes do Docker

# Remove Docker-related package sources
sudo rm -f /etc/apt/sources.list.d/*docker*.list

# Uninstall Docker and related packages
# You can ignore messages about packages that are not installed.
for pkg in docker.io docker-buildx-plugin docker-ce-cli docker-ce-rootless-extras docker-compose-plugin docker-doc docker-compose podman-docker containerd runc; do
  sudo apt-get remove -y $pkg
done

A desinstalação do Docker não remove imagens, contêineres, volumes ou redes. Esses itens ficam armazenados em /var/lib/docker/ por padrão. Para removê-los, exclua esse diretório manualmente.

Etapa 2: Instalar o Docker CE

Se você não estiver usando um servidor da Alibaba Cloud, substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com .
# Update the package list and install prerequisites
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

# Add Docker's GPG key and repository
sudo curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

# Install Docker CE, containerd.io, and the Buildx and Compose plugins
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Etapa 3: Iniciar o Docker

sudo systemctl start docker
sudo systemctl enable docker

Verifique se o serviço está ativo:

sudo systemctl status docker

Saída esperada:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled)
   Active: active (running) since ...

Debian

Etapa 1: Remover componentes existentes do Docker

# Remove Docker-related package sources
sudo rm -f /etc/apt/sources.list.d/*docker*.list

# Uninstall Docker and related packages
# You can ignore messages about packages that are not installed.
for pkg in docker.io docker-buildx-plugin docker-ce-cli docker-ce-rootless-extras docker-compose-plugin docker-doc docker-compose podman-docker containerd runc; do
  sudo apt-get remove -y $pkg
done

A desinstalação do Docker não remove imagens, contêineres, volumes ou redes. Esses itens ficam armazenados em /var/lib/docker/ por padrão. Para removê-los, exclua esse diretório manualmente.

Etapa 2: Instalar o Docker CE

Se você não estiver usando um servidor da Alibaba Cloud, substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com .
# Update the package list and install prerequisites
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

# Add Docker's GPG key and repository
sudo curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/debian $(lsb_release -cs) stable"

# Install Docker CE, containerd.io, and the Buildx and Compose plugins
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Etapa 3: Iniciar o Docker

sudo systemctl start docker
sudo systemctl enable docker

Verifique se o serviço está ativo:

sudo systemctl status docker

Saída esperada:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled)
   Active: active (running) since ...

Red Hat

Etapa 1: Remover componentes existentes do Docker

# Remove Docker-related package repositories
sudo rm -f /etc/yum.repos.d/docker*.repo

# Uninstall Docker and related packages
# You can ignore messages about packages that are not installed.
sudo yum -y remove \
  docker-ce \
  containerd.io \
  docker-ce-rootless-extras \
  docker-buildx-plugin \
  docker-ce-cli \
  docker-compose-plugin

A desinstalação do Docker não remove imagens, contêineres, volumes ou redes. Esses itens ficam armazenados em /var/lib/docker/ por padrão. Para removê-los, exclua esse diretório manualmente.

Etapa 2: Instalar o Docker CE

Se você não estiver usando um servidor da Alibaba Cloud, substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com .
# Add the Docker package repository
sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/rhel/docker-ce.repo
sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo

# Install Docker CE, containerd.io, and the Buildx and Compose plugins
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Etapa 3: Iniciar o Docker

sudo systemctl start docker
sudo systemctl enable docker

Verifique se o serviço está ativo:

sudo systemctl status docker

Saída esperada:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
   Active: active (running) since ...

Fedora

Etapa 1: Remover componentes existentes do Docker

# Remove Docker-related package repositories
sudo rm -f /etc/yum.repos.d/docker*.repo

# Uninstall Docker and related packages
# You can ignore messages about packages that are not installed.
sudo dnf -y remove \
  docker-ce \
  containerd.io \
  docker-ce-rootless-extras \
  docker-buildx-plugin \
  docker-ce-cli \
  docker-compose-plugin

A desinstalação do Docker não remove imagens, contêineres, volumes ou redes. Esses itens ficam armazenados em /var/lib/docker/ por padrão. Para removê-los, exclua esse diretório manualmente.

Etapa 2: Instalar o Docker CE

Se você não estiver usando um servidor da Alibaba Cloud, substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com .
# Add the Docker package repository
sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/fedora/docker-ce.repo
sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo

# Install Docker CE, containerd.io, and the Buildx and Compose plugins
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Etapa 3: Iniciar o Docker

sudo systemctl start docker
sudo systemctl enable docker

Verifique se o serviço está ativo:

sudo systemctl status docker

Saída esperada:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
   Active: active (running) since ...

Anolis OS

Etapa 1: Remover componentes existentes do Docker

# Remove Docker-related package repositories
sudo rm -f /etc/yum.repos.d/docker*.repo

# Uninstall Docker and related packages
# You can ignore messages about packages that are not installed.
sudo yum -y remove \
  docker-ce \
  containerd.io \
  docker-ce-rootless-extras \
  docker-buildx-plugin \
  docker-ce-cli \
  docker-compose-plugin

A desinstalação do Docker não remove imagens, contêineres, volumes ou redes. Esses itens ficam armazenados em /var/lib/docker/ por padrão. Para removê-los, exclua esse diretório manualmente.

Etapa 2: Instalar o Docker CE

Se você não estiver usando um servidor da Alibaba Cloud, substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com .
# Add the Docker package repository
sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo

# Install Docker CE, containerd.io, and the Buildx and Compose plugins
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Etapa 3: Iniciar o Docker

sudo systemctl start docker
sudo systemctl enable docker

Verifique se o serviço está ativo:

sudo systemctl status docker

Saída esperada:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
   Active: active (running) since ...

Alibaba Cloud Linux 2

Etapa 1: Remover componentes existentes do Docker

# Remove Docker-related package repositories
sudo rm -f /etc/yum.repos.d/docker*.repo

# Uninstall Docker and related packages
# You can ignore messages about packages that are not installed.
sudo yum -y remove \
  docker-ce \
  containerd.io \
  docker-ce-rootless-extras \
  docker-buildx-plugin \
  docker-ce-cli \
  docker-compose-plugin

A desinstalação do Docker não remove imagens, contêineres, volumes ou redes. Esses itens ficam armazenados em /var/lib/docker/ por padrão. Para removê-los, exclua esse diretório manualmente.

Etapa 2: Instalar o Docker CE

Se você não estiver usando um servidor da Alibaba Cloud, substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com .
# Add the Docker package repository
sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo

# Install the yum repository compatibility plugin for Alibaba Cloud Linux 2
sudo yum install yum-plugin-releasever-adapter --disablerepo=* --enablerepo=plus

# Install Docker CE, containerd.io, and the Buildx and Compose plugins
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Etapa 3: Iniciar o Docker

sudo systemctl start docker
sudo systemctl enable docker

Verifique se o serviço está ativo:

sudo systemctl status docker

Saída esperada:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
   Active: active (running) since ...

CentOS 7.x

Etapa 1: Remover componentes existentes do Docker

# Remove Docker-related package repositories
sudo rm -f /etc/yum.repos.d/docker*.repo

# Uninstall Docker and related packages
# You can ignore messages about packages that are not installed.
sudo yum -y remove \
  docker-ce \
  containerd.io \
  docker-ce-rootless-extras \
  docker-buildx-plugin \
  docker-ce-cli \
  docker-compose-plugin

A desinstalação do Docker não remove imagens, contêineres, volumes ou redes. Esses itens ficam armazenados em /var/lib/docker/ por padrão. Para removê-los, exclua esse diretório manualmente.

Etapa 2: Instalar o Docker CE

Se você não estiver usando um servidor da Alibaba Cloud, substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com .
# Add the Docker package repository
sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo

# Install Docker CE, containerd.io, and the Buildx and Compose plugins
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Etapa 3: Iniciar o Docker

sudo systemctl start docker
sudo systemctl enable docker

Verifique se o serviço está ativo:

sudo systemctl status docker

Saída esperada:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
   Active: active (running) since ...

CentOS 8.x

Etapa 1: Remover componentes existentes do Docker

# Remove Docker-related package repositories
sudo rm -f /etc/yum.repos.d/docker*.repo

# Uninstall Docker and related packages
# You can ignore messages about packages that are not installed.
sudo dnf -y remove \
  docker-ce \
  containerd.io \
  docker-ce-rootless-extras \
  docker-buildx-plugin \
  docker-ce-cli \
  docker-compose-plugin

A desinstalação do Docker não remove imagens, contêineres, volumes ou redes. Esses itens ficam armazenados em /var/lib/docker/ por padrão. Para removê-los, exclua esse diretório manualmente.

Etapa 2: Instalar o Docker CE

Se você não estiver usando um servidor da Alibaba Cloud, substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com .
# Add the Docker package repository
sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo

# Install Docker CE, containerd.io, and the Buildx and Compose plugins
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Etapa 3: Iniciar o Docker

sudo systemctl start docker
sudo systemctl enable docker

Verifique se o serviço está ativo:

sudo systemctl status docker

Saída esperada:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
   Active: active (running) since ...

Implantar uma aplicação web com o Docker

Esta seção orienta a criação de uma aplicação web simples baseada em Nginx e sua execução como contêiner.

  1. Crie a imagem da aplicação web.

    # Pull the latest Nginx image
    sudo docker pull nginx:latest
    
    # Create a Dockerfile using Nginx as the base image,
    # serving a simple "Hello World!" page
    sudo tee Dockerfile <<-'EOF'
    FROM nginx:latest
    RUN echo 'Hello World!' > /usr/share/nginx/html/index.html
    EOF
    
    # Build the image
    sudo docker build . -t hello-world:latest
  2. Inicie um contêiner chamado hello-world a partir da imagem, mapeando a porta 80.

    sudo docker run -d -p 80:80 --name hello-world hello-world:latest
  3. Verifique se a aplicação web está em execução.

    curl http://localhost

    A saída esperada é:

    Hello World!

Instalar o Docker Compose

O Docker Compose está incluído no pacote docker-compose-plugin instalado nas etapas anteriores. Caso precise instalá-lo separadamente, execute o comando abaixo correspondente ao seu SO.

Alibaba Cloud Linux, CentOS, Red Hat, Anolis, Fedora

sudo yum -y install docker-compose-plugin

Ubuntu, Debian

sudo apt-get -y install docker-compose-plugin

Implantar uma aplicação com o Docker Compose

Esta seção mostra como usar o Docker Compose para executar um site WordPress com um banco de dados MySQL.

  1. Crie um arquivo Compose chamado docker-compose.yaml.

    sudo tee docker-compose.yaml <<-'EOF'
    version: '3.1'
    
    services:
      wordpress:
        image: wordpress
        restart: always
        ports:
          - "80:80"
        environment:
          WORDPRESS_DB_HOST: wordpress_db
          WORDPRESS_DB_USER: wordpress
          WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
          WORDPRESS_DB_NAME: wordpress
        volumes:
          - wordpress:/var/www/html
    
      db:
        image: mysql:5.7
        restart: always
        container_name: wordpress_db
        environment:
          MYSQL_DATABASE: wordpress
          MYSQL_USER: wordpress
          MYSQL_PASSWORD: ${WORDPRESS_DB_PASSWORD}
          MYSQL_RANDOM_ROOT_PASSWORD: ${WORDPRESS_DB_PASSWORD}
        volumes:
          - db:/var/lib/mysql
    
    volumes:
      wordpress:
      db:
    EOF
  2. Inicie os serviços.

    export WORDPRESS_DB_PASSWORD=<your-db-password>
    sudo -E docker compose up -d
  3. Abra https://<public IP address of the Simple Application Server instance> em um navegador. A página de configuração do WordPress será exibida. Siga as instruções na tela para concluir a configuração.

Perguntas frequentes

Como executar o Docker sem sudo?

Por padrão, os comandos do Docker exigem privilégios de root. Para executar o Docker com seu usuário atual, adicione o usuário ao grupo docker.

  1. Adicione o usuário atual ao grupo docker.

    sudo usermod -aG docker $USER
  2. Aplique a alteração de grupo à sessão atual do shell.

    newgrp docker
  3. Verifique se o seu usuário agora pertence ao grupo docker.

    groups

    A saída deve incluir docker:

    <your-username> sudo docker
  4. Confirme que é possível executar o Docker sem sudo.

    docker run hello-world

    Uma mensagem de sucesso confirma que o Docker está funcionando corretamente para o seu usuário. Para que a alteração persista entre sessões de login, faça logout e login novamente.

Por que http://mirrors.cloud.aliyuncs.com está inacessível?

Se você encontrar uma falha de conexão ao acessar http://mirrors.cloud.aliyuncs.com, a causa provável é instabilidade de rede. Substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com em todos os comandos.

O endereço https://mirrors.aliyun.com exige que sua instância tenha um endereço IP público. Consulte Habilitar acesso à Internet .

Por que o comando dnf config-manager falha?

Se você vir um DeprecationWarning sobre distutils ao executar dnf config-manager, sua versão do dnf está desatualizada. Atualize-a e tente novamente:

sudo dnf update dnf

Por que o dnf install docker-ce falha?

Sintoma: falha no download

containerd.io-1.6.26-3.1.el8.x86_64: Cannot download, all mirrors were already tried without success.

O cache de pacotes está obsoleto. Limpe-o e tente novamente:

sudo dnf clean packages

Sintoma: falha no download de metadados no CentOS 8

Errors during downloading metadata for repository 'base':
  - Curl error (6): Couldn't resolve host name for http://mirror.centos.org/...
Error: Failed to download metadata for repo 'base'

O repositório padrão do CentOS 8 foi descontinuado. Substitua-o pelo arquivo fornecido pela Alibaba Cloud:

# Back up the existing repo file
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# Download the Alibaba Cloud CentOS vault repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.aliyuncs.com/repo/Centos-vault-8.5.2111.repo

# Update the mirror addresses
sudo sed -i 's/mirrors.cloud.aliyuncs.com/url_tmp/g' /etc/yum.repos.d/CentOS-Base.repo \
  && sudo sed -i 's/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/CentOS-Base.repo \
  && sudo sed -i 's/url_tmp/mirrors.aliyun.com/g' /etc/yum.repos.d/CentOS-Base.repo

# Rebuild the cache
sudo yum clean all && sudo yum makecache

Em seguida, tente instalar o Docker novamente.

Próximos passos