Todos os produtos
Search
Central de documentação

Elastic Compute Service:Instalar e usar o Docker no Linux

Última atualização: Jul 05, 2026

Instale o Docker e o Docker Compose em várias distribuições Linux para containerizar aplicações e permitir implantações portáteis e padronizadas.

Instalar o Docker

Alibaba Cloud Linux 4

Antes de instalar o Docker, desinstale todos os componentes existentes do Docker para evitar conflitos.

Desinstalar versões anteriores do Docker

  1. Desinstale as versões antigas do Docker e os pacotes relacionados.

    #Remove Docker-related sources
    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
  2. A desinstalação do Docker não remove imagens, containers, volumes ou redes armazenados em /var/lib/docker/. Exclua esse diretório manualmente, se necessário.

  1. Instale o Docker.

    • Recomendado:

      # Install the Moby runtime
      sudo yum install -y moby
    • Instale o Docker Community Edition.

      Se você não estiver usando um servidor 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
      
      #You must select which CentOS version to install, such as CentOS 9 or CentOS 10, and then replace $releasever with the corresponding version number.
      # To use CentOS 9, run:
      sudo sed -i 's|$releasever|9|' /etc/yum.repos.d/docker-ce.repo
      # To use CentOS 10, run:
      sudo sed -i 's|$releasever|10|' /etc/yum.repos.d/docker-ce.repo
      
      #Install Docker Community Edition, the containerd.io container runtime, and the Docker Buildx and Compose plugins
      sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      
      #Note: To switch back to the native Moby component provided by Alibaba Cloud Linux 4, first remove the docker-ce components and disable the CentOS repository.
      sudo yum remove -y docker-ce docker-ce-cli
      sudo rm -rf /etc/yum.repos.d/docker-ce.repo
  2. Inicie o Docker e configure a inicialização automática no boot.

    # Start the service and enable it to start on boot
    sudo systemctl start docker
    sudo systemctl enable docker
    
    # Verify the installation
    docker --version  # This will display the installed version
Nota
  • O Moby é o runtime de container padrão e continuará recebendo atualizações.

  • Os componentes mais antigos do Docker permanecem utilizáveis para compatibilidade futura, mas não receberão atualizações.

Alibaba Cloud Linux 3

Antes de instalar o Docker, desinstale todos os componentes existentes do Docker para evitar conflitos.

Desinstalar versões anteriores do Docker

  1. Desinstale as versões antigas do Docker e os pacotes relacionados.

    Ignore mensagens indicando que um pacote não está instalado.
    #Remove Docker-related sources
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #Uninstall Docker and related packages
    sudo dnf -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. A desinstalação do Docker não remove imagens, containers, volumes ou redes armazenados em /var/lib/docker/. Exclua esse diretório manualmente, se necessário.

  1. Instale o Docker Community Edition.

    Se você não estiver usando um servidor 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 Community Edition, the containerd.io container runtime, and the Docker Buildx and Compose plugins
    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Inicie o Docker e configure a inicialização automática no boot.

    #Start Docker
    sudo systemctl start docker
    #Set the Docker daemon to start automatically on system boot
    sudo systemctl enable docker

Ubuntu

Antes de instalar o Docker, desinstale todos os componentes existentes do Docker para evitar conflitos.

Desinstalar versões anteriores do Docker

  1. Desinstale as versões antigas do Docker e os pacotes relacionados.

    Ignore mensagens indicando que um pacote não está instalado.
    #Remove Docker-related sources
    sudo rm -f /etc/apt/sources.list.d/*docker*.list
    #Uninstall Docker and related packages
    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
  2. A desinstalação do Docker não remove imagens, containers, volumes ou redes armazenados em /var/lib/docker/. Exclua esse diretório manualmente, se necessário.

  1. Instale o Docker Community Edition.

    Se você não estiver usando um servidor Alibaba Cloud, substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com
    #Update the package management tool
    sudo apt-get update
    #Add the Docker package repository
    sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
    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 Community Edition, the containerd.io container runtime, and the Docker Buildx and Compose plugins
    sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
  2. Inicie o Docker e configure a inicialização automática no boot.

    #Start Docker
    sudo systemctl start docker
    #Set the Docker daemon to start automatically on system boot
    sudo systemctl enable docker

Debian

Antes de instalar o Docker, desinstale todos os componentes existentes do Docker para evitar conflitos.

Desinstalar versões anteriores do Docker

  1. Desinstale as versões antigas do Docker e os pacotes relacionados.

    Ignore mensagens indicando que um pacote não está instalado.
    #Remove Docker-related sources
    sudo rm -f /etc/apt/sources.list.d/*docker*.list
    #Uninstall Docker and related packages
    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
  2. A desinstalação do Docker não remove imagens, containers, volumes ou redes armazenados em /var/lib/docker/. Exclua esse diretório manualmente, se necessário.

  1. Instale o Docker Community Edition.

    Se você não estiver usando um servidor Alibaba Cloud, substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com
    #Update the package management tool
    sudo apt-get update
    #Add the Docker package repository
    sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
    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 Community Edition, the containerd.io container runtime, and the Docker Buildx and Compose plugins
    sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Inicie o Docker e configure a inicialização automática no boot.

    #Start Docker
    sudo systemctl start docker
    #Set the Docker daemon to start automatically on system boot
    sudo systemctl enable docker

Red Hat

Antes de instalar o Docker, desinstale todos os componentes existentes do Docker para evitar conflitos.

Desinstalar versões anteriores do Docker

  1. Desinstale as versões antigas do Docker e os pacotes relacionados.

    Ignore mensagens indicando que um pacote não está instalado.
    #Remove Docker-related sources
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #Uninstall old versions of Docker and related packages
    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. A desinstalação do Docker não remove imagens, containers, volumes ou redes armazenados em /var/lib/docker/. Exclua esse diretório manualmente, se necessário.

  1. Instale o Docker Community Edition.

    Se você não estiver usando um servidor 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 Community Edition, the containerd.io container runtime, and the Docker Buildx and Compose plugins
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Inicie o Docker e configure a inicialização automática no boot.

    #Start Docker
    sudo systemctl start docker
    #Set the Docker daemon to start automatically on system boot
    sudo systemctl enable docker

Fedora

Antes de instalar o Docker, desinstale todos os componentes existentes do Docker para evitar conflitos.

Desinstalar versões anteriores do Docker

  1. Desinstale as versões antigas do Docker e os pacotes relacionados.

    Ignore mensagens indicando que um pacote não está instalado.
    #Remove Docker-related sources
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #Uninstall Docker and related packages
    sudo dnf -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. A desinstalação do Docker não remove imagens, containers, volumes ou redes armazenados em /var/lib/docker/. Exclua esse diretório manualmente, se necessário.

  1. Instale o Docker Community Edition.

    Se você não estiver usando um servidor 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 Community Edition, the containerd.io container runtime, and the Docker Buildx and Compose plugins
    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Inicie o Docker e configure a inicialização automática no boot.

    #Start Docker
    sudo systemctl start docker
    #Set the Docker daemon to start automatically on system boot
    sudo systemctl enable docker

Anolis OS

Antes de instalar o Docker, desinstale todos os componentes existentes do Docker para evitar conflitos.

Desinstalar versões anteriores do Docker

  1. Desinstale as versões antigas do Docker e os pacotes relacionados.

    Ignore mensagens indicando que um pacote não está instalado.
    #Remove Docker-related sources
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #Uninstall old versions of Docker and related packages
    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. A desinstalação do Docker não remove imagens, containers, volumes ou redes armazenados em /var/lib/docker/. Exclua esse diretório manualmente, se necessário.

  1. Instale o Docker Community Edition.

    Se você não estiver usando um servidor 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 Community Edition, the containerd.io container runtime, and the Docker Buildx and Compose plugins
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Inicie o Docker e configure a inicialização automática no boot.

    #Start Docker
    sudo systemctl start docker
    #Set the Docker daemon to start automatically on system boot
    sudo systemctl enable docker

Alibaba Cloud Linux 2

Antes de instalar o Docker, desinstale todos os componentes existentes do Docker para evitar conflitos.

Desinstalar versões anteriores do Docker

  1. Desinstale as versões antigas do Docker e os pacotes relacionados.

    Ignore mensagens indicando que um pacote não está instalado.
    #Remove Docker-related sources
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #Uninstall old versions of Docker and related packages
    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. A desinstalação do Docker não remove imagens, containers, volumes ou redes armazenados em /var/lib/docker/. Exclua esse diretório manualmente, se necessário.

  1. Instale o Docker Community Edition.

    Se você não estiver usando um servidor 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 Community Edition, the containerd.io container runtime, and the Docker Buildx and Compose plugins
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Inicie o Docker e configure a inicialização automática no boot.

    #Start Docker
    sudo systemctl start docker
    #Set the Docker daemon to start automatically on system boot
    sudo systemctl enable docker

CentOS 7.x

Antes de instalar o Docker, desinstale todos os componentes existentes do Docker para evitar conflitos.

Desinstalar versões anteriores do Docker

  1. Desinstale as versões antigas do Docker e os pacotes relacionados.

    Ignore mensagens indicando que um pacote não está instalado.
    #Remove Docker-related sources
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #Uninstall old versions of Docker and related packages
    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. A desinstalação do Docker não remove imagens, containers, volumes ou redes armazenados em /var/lib/docker/. Exclua esse diretório manualmente, se necessário.

  1. Instale o Docker Community Edition.

    Se você não estiver usando um servidor 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 Community Edition, the containerd.io container runtime, and the Docker Buildx and Compose plugins
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Inicie o Docker e configure a inicialização automática no boot.

    #Start Docker
    sudo systemctl start docker
    #Set the Docker daemon to start automatically on system boot
    sudo systemctl enable docker

CentOS 8.x

Antes de instalar o Docker, desinstale todos os componentes existentes do Docker para evitar conflitos.

Desinstalar versões anteriores do Docker

  1. Desinstale as versões antigas do Docker e os pacotes relacionados.

    Ignore mensagens indicando que um pacote não está instalado.
    #Remove Docker-related sources
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #Uninstall Docker and related packages
    sudo dnf -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. A desinstalação do Docker não remove imagens, containers, volumes ou redes armazenados em /var/lib/docker/. Exclua esse diretório manualmente, se necessário.

  1. Instale o Docker Community Edition.

    Se você não estiver usando um servidor 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 Community Edition, the containerd.io container runtime, and the Docker Buildx and Compose plugins
    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Inicie o Docker e configure a inicialização automática no boot.

    #Start Docker
    sudo systemctl start docker
    #Set the Docker daemon to start automatically on system boot
    sudo systemctl enable docker

Implantar uma aplicação web

  1. Crie a imagem.

    #Pull the latest Nginx image
    sudo docker pull nginx:latest
    #Create a Dockerfile that sets Nginx as the base image and creates an index.html file that displays "Hello World!" in the web server's root directory.
    sudo tee Dockerfile <<-'EOF'
    FROM nginx:latest
    RUN echo 'Hello World!' > /usr/share/nginx/html/index.html
    EOF
    #Build the image and name it hello-world
    sudo docker build . -t hello-world:latest
  2. Inicie um container chamado hello-world a partir da imagem.

    sudo docker run -d -p 80:80 --name hello-world hello-world:latest
  3. Verifique a implantação executando curl http://localhost. A saída deve exibir Hello World!.

Instalar o Docker Compose

Use o Docker Compose para definir e executar aplicações com múltiplos containers a partir de um único arquivo YAML.

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

  1. Crie um arquivo docker-compose.yaml.

    #Create the orchestration file and add MySQL and WordPress services
    sudo tee docker-compose.yaml <<-'EOF'
    version: '3.1'
    
    services:
      wordpress:
        image: wordpress
        restart: always
        ports:
          - "80:80"
        environment:
          #Database host address
          WORDPRESS_DB_HOST: wordpress_db
          #Database username
          WORDPRESS_DB_USER: wordpress
          #Database password
          WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
          #Database name
          WORDPRESS_DB_NAME: wordpress
        volumes:
          - wordpress:/var/www/html
    
      db:
        image: mysql:5.7
        restart: always
        container_name: wordpress_db
        environment:
          #Database name
          MYSQL_DATABASE: wordpress
          #Database username
          MYSQL_USER: wordpress
          #Database password
          MYSQL_PASSWORD: ${WORDPRESS_DB_PASSWORD}
          #Database root user password
          MYSQL_RANDOM_ROOT_PASSWORD: ${WORDPRESS_DB_PASSWORD}
        volumes:
          - db:/var/lib/mysql
    
    volumes:
      wordpress:
      db:
    EOF
  2. Inicie o WordPress. Substitua <database_password> pela sua senha do MySQL.

    O Docker Compose V2 usa espaço em vez de hífen, por exemplo: docker compose version .
    #Start the service containers.
    sudo env "PATH=$PATH" "WORDPRESS_DB_PASSWORD=<database_password>" docker compose -f docker-compose.yaml up -d
  3. Abra http://<Public_IP_address_of_your_ECS_instance> em um navegador para acessar o WordPress.

    Verifique se o seu grupo de segurança permite tráfego de entrada na porta 80 .

FAQ

Como executar o Docker como usuário sem privilégios de root?

Por padrão, os comandos do Docker exigem privilégios de root (via sudo). Para evitar o uso de sudo em cada comando, adicione seu usuário ao grupo docker.

  1. Adicione seu usuário ao grupo docker.

    sudo usermod -aG docker $USER
  2. Execute newgrp docker para aplicar a alteração. Em seguida, use comandos docker sem sudo. Faça logoff e logon novamente para tornar a alteração permanente.

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

  • Sintoma: http://mirrors.cloud.aliyuncs.com está inacessível.

  • Causa: instabilidade de rede.

  • Solução: substitua http://mirrors.cloud.aliyuncs.com por https://mirrors.aliyun.com.

    O uso de https://mirrors.aliyun.com requer um endereço IP público. Consulte Ativar acesso à Internet .

Por que o comando dnf config-manager falha?

  • Sintoma: a execução de dnf config-manager exibe um aviso de descontinuação:

    /usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives.
  • Causa: versão desatualizada do dnf.

  • Solução: atualize o dnf executando sudo dnf update dnf e tente instalar o Docker novamente.

Por que o comando dnf install docker-ce falha?

  • Sintoma: a execução de dnf -y install docker-ce falha com um erro de download:

    (8-9/12): docker-ce-24.0.7-1.el8.x86_64.rpm 38% [================- ] 8.2 MB/s | 38 MB 00:07 ETA
    The downloaded packages were saved in cache until the next successful transaction.
    You can remove cached packages by executing 'dnf clean packages'.
    Error: Error downloading packages:
    containerd.io-1.6.26-3.1.el8.x86_64: Cannot download, all mirrors were already tried without success.
  • Causa: cache de pacotes desatualizado.

  • Solução: execute sudo dnf clean packages e tente instalar o docker novamente.

  • Sintoma: a execução de dnf -y install docker-ce falha com um erro de download de metadados:

    CentOS- Base                                                                                                                         0.0  B/s |   0  B     00:30    
    Errors during downloading metadata for repository 'base':
      - Curl error (6): Couldn't resolve host name for http://mirror.centos.org/os/BaseOS/x86_64/os/repodata/repomd.xml [Could not resolve host: mirror.aliyuncs.com]
      - Curl error (28): Timeout was reached for http://mirror.centos.org/os/BaseOS/x86_64/os/repodata/repomd.xml [Connection timed out after 30000 milliseconds]
      - Curl error (6): Couldn't resolve host name for http://mirror.centos.org/os/BaseOS/x86_64/os/repodata/repomd.xml [Could not resolve host: mirror.cloud.aliyuncs.com]
    Error: Failed to download metadata for repo 'base': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
  • Causa: repositório do CentOS 8 descontinuado.

  • Solução: substitua o repositório descontinuado do CentOS 8 por um espelho do Alibaba Cloud.

    # Back up the expired software source.
    sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    # Download the Alibaba Cloud-provided CentOS-Base.repo to /etc/yum.repos.d/.
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.aliyuncs.com/repo/Centos-vault-8.5.2111.repo
    # Replace the software source address in the Alibaba Cloud source with an address accessible to ECS.
    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
    # Clear the old cache and generate a new one.
    sudo yum clean all && sudo yum makecache

    Em seguida, tente instalar o docker novamente.

Referências