Tous les produits
Search
Centre de documentation

Elastic Compute Service:Installer et utiliser Docker sur Linux

Dernière mise à jour :Aug 19, 2026

Installez Docker et Docker Compose sur diverses distributions Linux afin de conteneuriser vos applications pour un déploiement portable et standardisé.

Installer Docker

Alibaba Cloud Linux 3

Avant d'installer Docker, désinstallez tous les composants Docker existants pour éviter les conflits.

Désinstaller les anciennes versions de Docker

  1. Désinstallez les anciennes versions de Docker et les packages associés.

    Vous pouvez ignorer les messages indiquant qu'un package n'est pas installé.
    #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. La désinstallation de Docker ne supprime pas les images, les conteneurs, les volumes ni les réseaux stockés dans /var/lib/docker/. Supprimez manuellement ce répertoire si nécessaire.

  1. Installez Docker Community Edition.

    Si vous n'utilisez pas de serveur Alibaba Cloud, remplacez http://mirrors.cloud.aliyuncs.com par 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. Démarrez Docker et activez son démarrage automatique au boot.

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

Alibaba Cloud Linux 4

Avant d'installer Docker, désinstallez tous les composants Docker existants pour éviter les conflits.

Désinstaller les anciennes versions de Docker

  1. Désinstallez les anciennes versions de Docker et les packages associés.

    #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. La désinstallation de Docker ne supprime pas les images, les conteneurs, les volumes ni les réseaux stockés dans /var/lib/docker/. Supprimez manuellement ce répertoire si nécessaire.

  1. Installez Docker.

    Install Moby from Alibaba Cloud Linux repository

    Moby contient l'intégralité des fonctionnalités principales de Docker. Dans Alibaba Cloud Linux 4, le moteur de conteneur est fourni nativement par le package moby. Après l'installation de moby, les commandes système, le nom du service (dockerd), l'API et les images de conteneur sont entièrement compatibles avec Docker standard.

    sudo yum install -y moby

    Install Docker CE from Docker CE repository

    Pour les serveurs non Alibaba Cloud, remplacez http://mirrors.cloud.aliyuncs.com par https://mirrors.aliyun.com. Sélectionnez une version compatible avec CentOS dans le dépôt Docker CE, et confirmez que l'ancienne version de Docker a été supprimée avant l'installation.

    #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
    Remarque

    Pour revenir au moteur d'exécution de conteneurs Moby fourni nativement par Alibaba Cloud Linux 4 après avoir utilisé Docker CE, supprimez d'abord les composants Docker CE et désactivez le dépôt CentOS.

    sudo yum remove -y docker-ce docker-ce-cli
    sudo rm -rf /etc/yum.repos.d/docker-ce.repo
  2. Démarrez Docker et activez son démarrage automatique au 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
Remarque
  • Moby est le moteur d'exécution de conteneurs par défaut et continuera à recevoir des mises à jour.

  • Les anciens composants Docker restent utilisables pour la compatibilité ascendante, mais ne recevront pas de mises à jour.

Ubuntu

Avant d'installer Docker, désinstallez tous les composants Docker existants pour éviter les conflits.

Désinstaller les anciennes versions de Docker

  1. Désinstallez les anciennes versions de Docker et les packages associés.

    Vous pouvez ignorer les messages indiquant qu'un package n'est pas installé.
    #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. La désinstallation de Docker ne supprime pas les images, les conteneurs, les volumes ni les réseaux stockés dans /var/lib/docker/. Supprimez manuellement ce répertoire si nécessaire.

  1. Installez Docker Community Edition.

    Si vous n'utilisez pas de serveur Alibaba Cloud, remplacez http://mirrors.cloud.aliyuncs.com par 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. Démarrez Docker et activez son démarrage automatique au boot.

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

Debian

Avant d'installer Docker, désinstallez tous les composants Docker existants pour éviter les conflits.

Désinstaller les anciennes versions de Docker

  1. Désinstallez les anciennes versions de Docker et les packages associés.

    Vous pouvez ignorer les messages indiquant qu'un package n'est pas installé.
    #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. La désinstallation de Docker ne supprime pas les images, les conteneurs, les volumes ni les réseaux stockés dans /var/lib/docker/. Supprimez manuellement ce répertoire si nécessaire.

  1. Installez Docker Community Edition.

    Si vous n'utilisez pas de serveur Alibaba Cloud, remplacez http://mirrors.cloud.aliyuncs.com par 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. Démarrez Docker et activez son démarrage automatique au boot.

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

Red Hat

Avant d'installer Docker, désinstallez tous les composants Docker existants pour éviter les conflits.

Désinstaller les anciennes versions de Docker

  1. Désinstallez les anciennes versions de Docker et les packages associés.

    Vous pouvez ignorer les messages indiquant qu'un package n'est pas installé.
    #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. La désinstallation de Docker ne supprime pas les images, les conteneurs, les volumes ni les réseaux stockés dans /var/lib/docker/. Supprimez manuellement ce répertoire si nécessaire.

  1. Installez Docker Community Edition.

    Si vous n'utilisez pas de serveur Alibaba Cloud, remplacez http://mirrors.cloud.aliyuncs.com par 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. Démarrez Docker et activez son démarrage automatique au boot.

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

Fedora

Avant d'installer Docker, désinstallez tous les composants Docker existants pour éviter les conflits.

Désinstaller les anciennes versions de Docker

  1. Désinstallez les anciennes versions de Docker et les packages associés.

    Vous pouvez ignorer les messages indiquant qu'un package n'est pas installé.
    #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. La désinstallation de Docker ne supprime pas les images, les conteneurs, les volumes ni les réseaux stockés dans /var/lib/docker/. Supprimez manuellement ce répertoire si nécessaire.

  1. Installez Docker Community Edition.

    Si vous n'utilisez pas de serveur Alibaba Cloud, remplacez http://mirrors.cloud.aliyuncs.com par 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. Démarrez Docker et activez son démarrage automatique au boot.

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

Anolis OS

Avant d'installer Docker, désinstallez tous les composants Docker existants pour éviter les conflits.

Désinstaller les anciennes versions de Docker

  1. Désinstallez les anciennes versions de Docker et les packages associés.

    Vous pouvez ignorer les messages indiquant qu'un package n'est pas installé.
    #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. La désinstallation de Docker ne supprime pas les images, les conteneurs, les volumes ni les réseaux stockés dans /var/lib/docker/. Supprimez manuellement ce répertoire si nécessaire.

  1. Installez Docker Community Edition.

    Si vous n'utilisez pas de serveur Alibaba Cloud, remplacez http://mirrors.cloud.aliyuncs.com par 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. Démarrez Docker et activez son démarrage automatique au 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

Avant d'installer Docker, désinstallez tous les composants Docker existants pour éviter les conflits.

Désinstaller les anciennes versions de Docker

  1. Désinstallez les anciennes versions de Docker et les packages associés.

    Vous pouvez ignorer les messages indiquant qu'un package n'est pas installé.
    #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. La désinstallation de Docker ne supprime pas les images, les conteneurs, les volumes ni les réseaux stockés dans /var/lib/docker/. Supprimez manuellement ce répertoire si nécessaire.

  1. Installez Docker Community Edition.

    Si vous n'utilisez pas de serveur Alibaba Cloud, remplacez http://mirrors.cloud.aliyuncs.com par 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. Démarrez Docker et activez son démarrage automatique au boot.

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

CentOS 7.x

Avant d'installer Docker, désinstallez tous les composants Docker existants pour éviter les conflits.

Désinstaller les anciennes versions de Docker

  1. Désinstallez les anciennes versions de Docker et les packages associés.

    Vous pouvez ignorer les messages indiquant qu'un package n'est pas installé.
    #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. La désinstallation de Docker ne supprime pas les images, les conteneurs, les volumes ni les réseaux stockés dans /var/lib/docker/. Supprimez manuellement ce répertoire si nécessaire.

  1. Installez Docker Community Edition.

    Si vous n'utilisez pas de serveur Alibaba Cloud, remplacez http://mirrors.cloud.aliyuncs.com par 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. Démarrez Docker et activez son démarrage automatique au boot.

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

CentOS 8.x

Avant d'installer Docker, désinstallez tous les composants Docker existants pour éviter les conflits.

Désinstaller les anciennes versions de Docker

  1. Désinstallez les anciennes versions de Docker et les packages associés.

    Vous pouvez ignorer les messages indiquant qu'un package n'est pas installé.
    #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. La désinstallation de Docker ne supprime pas les images, les conteneurs, les volumes ni les réseaux stockés dans /var/lib/docker/. Supprimez manuellement ce répertoire si nécessaire.

  1. Installez Docker Community Edition.

    Si vous n'utilisez pas de serveur Alibaba Cloud, remplacez http://mirrors.cloud.aliyuncs.com par 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. Démarrez Docker et activez son démarrage automatique au boot.

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

Déployer une application web

  1. Construisez l'image.

    #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. Démarrez un conteneur nommé hello-world à partir de l'image.

    sudo docker run -d -p 80:80 --name hello-world hello-world:latest
  3. Vérifiez le déploiement en exécutant curl http://localhost. La sortie doit afficher Hello World!.

Installer Docker Compose

Utilisez Docker Compose pour définir et exécuter des applications multi-conteneurs à partir d'un seul fichier 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
Si une erreur se produit lors de l'exécution de la commande d'installation, consultez la section Échec de l'installation de Docker Compose. Après avoir configuré le dépôt logiciel, exécutez à nouveau la commande d'installation.

Déployer une application

  1. Créez un fichier 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. Démarrez WordPress. Remplacez <database_password> par votre mot de passe MySQL.

    Docker Compose V2 utilise un espace au lieu d'un trait d'union, par exemple, 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. Ouvrez http://<Public_IP_address_of_your_ECS_instance> dans un navigateur pour accéder à WordPress.

    Vérifiez que votre groupe de sécurité autorise le trafic entrant sur le port 80 .

FAQ

Comment exécuter Docker en tant qu'utilisateur non root ?

Par défaut, les commandes Docker nécessitent des privilèges root (via sudo). Pour éviter d'utiliser sudo pour chaque commande, ajoutez votre utilisateur au groupe docker.

  1. Ajoutez votre utilisateur au groupe docker.

    sudo usermod -aG docker $USER
  2. Exécutez newgrp docker pour appliquer la modification. Vous pouvez ensuite utiliser les commandes docker sans sudo. Déconnectez-vous et reconnectez-vous pour que la modification soit persistante.

Pourquoi http://mirrors.cloud.aliyuncs.com est-il inaccessible ?

  • Symptôme : http://mirrors.cloud.aliyuncs.com est inaccessible.

  • Cause : instabilité du réseau.

  • Solution : remplacez http://mirrors.cloud.aliyuncs.com par https://mirrors.aliyun.com.

    L'utilisation de https://mirrors.aliyun.com nécessite une adresse IP publique. Consultez Activer l'accès Internet .

Pourquoi la commande dnf config-manager échoue-t-elle ?

  • Symptôme : l'exécution de dnf config-manager affiche un avertissement de dépréciation :

    /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.
  • Cause : version obsolète de dnf.

  • Solution : mettez à jour dnf en exécutant sudo dnf update dnf, puis réessayez l'installation de Docker.

Pourquoi la commande dnf install docker-ce échoue-t-elle ?

  • Symptôme : l'exécution de dnf -y install docker-ce échoue avec une erreur de téléchargement :

    (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.
  • Cause : cache de packages obsolète.

  • Solution : exécutez sudo dnf clean packages, puis réessayez l'installation de docker.

  • Symptôme : l'exécution de dnf -y install docker-ce échoue avec une erreur de téléchargement des métadonnées :

    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
  • Cause : dépôt CentOS 8 abandonné.

  • Solution : remplacez le dépôt CentOS 8 abandonné par un miroir 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

    Réessayez ensuite l'installation de docker.

Échec de l'installation de Docker Compose

Si la commande d'installation de Docker Compose échoue, il se peut que l'instance ne dispose pas de dépôt logiciel configuré. Vous pouvez configurer un dépôt logiciel en fonction du système d'exploitation de l'instance. Une fois la configuration terminée, exécutez à nouveau la commande d'installation de Docker Compose.

Alibaba Cloud Linux 3

#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

Ubuntu

#Update the package management tool
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
#Add the Docker package repository
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
ARCH=$(dpkg --print-architecture)
DISTRO=$(. /etc/os-release && echo "$VERSION_CODENAME")
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null <<EOF
deb [arch=${ARCH} signed-by=/etc/apt/keyrings/docker.gpg] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu ${DISTRO} stable
EOF
sudo apt-get update

Debian

Important

Pour Debian 10 et les versions antérieures, veuillez d'abord configurer les dépôts logiciels.

#Update the package management tool
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
#Add the Docker package repository
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: http://mirrors.cloud.aliyuncs.com/docker-ce/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update

Red Hat

#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

Fedora

#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

Anolis OS / CentOS

#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

Alibaba Cloud Linux 2

#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

Références