赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 云服务器 ECS
  4. 实践教程
  5. 搭建环境
  6. 安装Docker

安装Docker

  • 搭建环境
  • 发布于 2025-04-01
  • 0 次阅读
文档编辑
文档编辑

本文将介绍如何在云服务器ECS中安装和使用Docker与Docker Compose。

安装Docker

快速安装

如果您希望尽快在ECS上安装Docker,而不需要关心具体执行细节,可以通过一键运行Terraform的方式,在现有的实例上安装Docker,或新建一个装有Docker的ECS实例。

  • 新建实例:设置参数create = true,依次点击发起调试 > 预览并执行。

  • 选择一个已有实例:设置参数create = false和instance_id,依次点击发起调试 > 预览并执行。

命令行安装

如果您需要了解具体的安装命令细节,可以参考以下内容:

Alibaba Cloud Linux 3

在安装最新版本的Docker之前,请确保先卸载当前安装的Docker及其相关组件,避免潜在的安装冲突和兼容性问题。

卸载旧版本的Docker

  1. 执行以下命令来卸载旧版本的Docker和相关的软件包并删除Docker相关源,这个命令会帮您卸载掉所有列出的与Docker相关的程序。

    说明

    如果系统提示说部分软件包没有安装,说明您尚未安装此软件包。

    #删除Docker相关源
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #卸载Docker和相关的软件包
    sudo dnf -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker默认保存位置是/var/lib/docker/,卸载Docker时,镜像、容器、存储卷和网络不会被自动删除。如果您想要删除这些数据,需要手动删除。

  1. 执行以下命令安装Docker社区版本。

    说明

    如果您使用的是非阿里云服务器,请将http://mirrors.cloud.aliyuncs.com替换为https://mirrors.aliyun.com。

    #添加Docker软件包源
    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 Linux3专用的dnf源兼容插件
    sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus
    #安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件
    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    #启动Docker
    sudo systemctl start docker
    #设置Docker守护进程在系统启动时自动启动
    sudo systemctl enable docker
  2. 通过查看Docker版本命令,验证Docker是否安装成功。

    sudo docker -v

    如下图回显信息所示,表示Docker已安装成功。image

Alibaba Cloud Linux 2

在安装最新版本的Docker之前,请确保先卸载当前安装的Docker及其相关组件,避免潜在的安装冲突和兼容性问题。

卸载旧版本的Docker

  1. 执行以下命令来卸载旧版本的Docker和相关的软件包并删除Docker相关源,这个命令会帮您卸载掉所有列出的与Docker相关的程序。

    说明

    如果系统提示说部分软件包没有安装,说明您尚未安装此软件包。

    #删除Docker相关源
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #卸载旧版本的Docker和相关的软件包
    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker默认保存位置是/var/lib/docker/,卸载Docker时,镜像、容器、存储卷和网络不会被自动删除。如果您想要删除这些数据,需要手动删除。

  1. 执行以下命令安装Docker社区版本。

    说明

    如果您使用的是非阿里云服务器,请将http://mirrors.cloud.aliyuncs.com替换为https://mirrors.aliyun.com。

    #添加Docker软件包源
    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 Linux2专用的yum源兼容插件
    sudo yum install yum-plugin-releasever-adapter --disablerepo=* --enablerepo=plus
    #安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    #启动Docker
    sudo systemctl start docker
    #设置Docker守护进程在系统启动时自动启动
    sudo systemctl enable docker
  2. 通过查看Docker版本命令,验证Docker是否安装成功。

    sudo docker -v

    如下图回显信息所示,表示Docker已安装成功。image

CentOS 7.x

在安装最新版本的Docker之前,请确保先卸载当前安装的Docker及其相关组件,避免潜在的安装冲突和兼容性问题。

卸载旧版本的Docker

  1. 执行以下命令来卸载旧版本的Docker和相关的软件包并删除Docker相关源,这个命令会帮您卸载掉所有列出的与Docker相关的程序。

    说明

    如果系统提示说部分软件包没有安装,说明您尚未安装此软件包。

    #删除Docker相关源
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #卸载旧版本的Docker和相关的软件包
    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker默认保存位置是/var/lib/docker/,卸载Docker时,镜像、容器、存储卷和网络不会被自动删除。如果您想要删除这些数据,需要手动删除。

  1. 执行以下命令安装Docker社区版本。

    说明

    如果您使用的是非阿里云服务器,请将http://mirrors.cloud.aliyuncs.com替换为https://mirrors.aliyun.com。

    #添加Docker软件包源
    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
    #安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    #启动Docker
    sudo systemctl start docker
    #设置Docker守护进程在系统启动时自动启动
    sudo systemctl enable docker
  2. 通过查看Docker版本命令,验证Docker是否安装成功。

    sudo docker -v

    如下图回显信息所示,表示Docker已安装成功。image

CentOS 8.x

在安装最新版本的Docker之前,请确保先卸载当前安装的Docker及其相关组件,避免潜在的安装冲突和兼容性问题。

卸载旧版本的Docker

  1. 执行以下命令来卸载旧版本的Docker和相关的软件包并删除Docker相关源,这个命令会帮您卸载掉所有列出的与Docker相关的程序。

    说明

    如果系统提示说部分软件包没有安装,说明您尚未安装此软件包。

    #删除Docker相关源
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #卸载Docker和相关的软件包
    sudo dnf -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker默认保存位置是/var/lib/docker/,卸载Docker时,镜像、容器、存储卷和网络不会被自动删除。如果您想要删除这些数据,需要手动删除。

  1. 执行以下命令安装Docker社区版本。

    说明

    如果您使用的是非阿里云服务器,请将http://mirrors.cloud.aliyuncs.com替换为https://mirrors.aliyun.com。

    #添加Docker软件包源
    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
    #安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件
    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    #启动Docker
    sudo systemctl start docker
    #设置Docker守护进程在系统启动时自动启动
    sudo systemctl enable docker
  2. 通过查看Docker版本命令,验证Docker是否安装成功。

    sudo docker -v

    如下图回显信息所示,表示Docker已安装成功。image

Ubuntu

在安装最新版本的Docker之前,请确保先卸载当前安装的Docker及其相关组件,避免潜在的安装冲突和兼容性问题。

卸载旧版本的Docker

  1. 执行以下命令来卸载旧版本的Docker和相关的软件包并删除Docker相关源,这个命令会帮您卸载掉所有列出的与Docker相关的程序。

    说明

    如果系统提示说部分软件包没有安装,说明您尚未安装此软件包。

    #删除Docker相关源
    sudo rm -f /etc/apt/sources.list.d/*docker*.list
    #卸载Docker和相关的软件包
    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. Docker默认保存位置是/var/lib/docker/,卸载Docker时,镜像、容器、存储卷和网络不会被自动删除。如果您想要删除这些数据,需要手动删除。

  1. 执行以下命令安装Docker社区版本。

    说明

    如果您使用的是非阿里云服务器,请将http://mirrors.cloud.aliyuncs.com替换为https://mirrors.aliyun.com。

    #更新包管理工具
    sudo apt-get update
    #添加Docker软件包源
    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"
    #安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件
    sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    #启动Docker
    sudo systemctl start docker
    #设置Docker守护进程在系统启动时自动启动
    sudo systemctl enable docker
  2. 通过查看Docker版本命令,验证Docker是否安装成功。

    sudo docker -v

    如下图回显信息所示,表示Docker已安装成功。image

Debian

在安装最新版本的Docker之前,请确保先卸载当前安装的Docker及其相关组件,避免潜在的安装冲突和兼容性问题。

卸载旧版本的Docker

  1. 执行以下命令来卸载旧版本的Docker和相关的软件包并删除Docker相关源,这个命令会帮您卸载掉所有列出的与Docker相关的程序。

    说明

    如果系统提示说部分软件包没有安装,说明您尚未安装此软件包。

    #删除Docker相关源
    sudo rm -f /etc/apt/sources.list.d/*docker*.list
    #卸载Docker和相关的软件包
    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. Docker默认保存位置是/var/lib/docker/,卸载Docker时,镜像、容器、存储卷和网络不会被自动删除。如果您想要删除这些数据,需要手动删除。

  1. 执行以下命令安装Docker社区版本。

    说明

    如果您使用的是非阿里云服务器,请将http://mirrors.cloud.aliyuncs.com替换为https://mirrors.aliyun.com。

    #更新包管理工具
    sudo apt-get update
    #添加Docker软件包源
    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"
    #安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件
    sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    #启动Docker
    sudo systemctl start docker
    #设置Docker守护进程在系统启动时自动启动
    sudo systemctl enable docker
  2. 通过查看Docker版本命令,验证Docker是否安装成功。

    sudo docker -v

    如下图回显信息所示,表示Docker已安装成功。image

Fedora

在安装最新版本的Docker之前,请确保先卸载当前安装的Docker及其相关组件,避免潜在的安装冲突和兼容性问题。

卸载旧版本的Docker

  1. 执行以下命令来卸载旧版本的Docker和相关的软件包并删除Docker相关源,这个命令会帮您卸载掉所有列出的与Docker相关的程序。

    说明

    如果系统提示说部分软件包没有安装,说明您尚未安装此软件包。

    #删除Docker相关源
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #卸载Docker和相关的软件包
    sudo dnf -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker默认保存位置是/var/lib/docker/,卸载Docker时,镜像、容器、存储卷和网络不会被自动删除。如果您想要删除这些数据,需要手动删除。

  1. 执行以下命令安装Docker社区版本。

    说明

    如果您使用的是非阿里云服务器,请将http://mirrors.cloud.aliyuncs.com替换为https://mirrors.aliyun.com。

    #添加Docker软件包源
    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
    #安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件
    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    #启动Docker
    sudo systemctl start docker
    #设置Docker守护进程在系统启动时自动启动
    sudo systemctl enable docker
  2. 通过查看Docker版本命令,验证Docker是否安装成功。

    sudo docker -v

    如下图回显信息所示,表示Docker已安装成功。image

Red Hat

在安装最新版本的Docker之前,请确保先卸载当前安装的Docker及其相关组件,避免潜在的安装冲突和兼容性问题。

卸载旧版本的Docker

  1. 执行以下命令来卸载旧版本的Docker和相关的软件包并删除Docker相关源,这个命令会帮您卸载掉所有列出的与Docker相关的程序。

    说明

    如果系统提示说部分软件包没有安装,说明您尚未安装此软件包。

    #删除Docker相关源
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #卸载旧版本的Docker和相关的软件包
    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker默认保存位置是/var/lib/docker/,卸载Docker时,镜像、容器、存储卷和网络不会被自动删除。如果您想要删除这些数据,需要手动删除。

  1. 执行以下命令安装Docker社区版本。

    说明

    如果您使用的是非阿里云服务器,请将http://mirrors.cloud.aliyuncs.com替换为https://mirrors.aliyun.com。

    #添加Docker软件包源
    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
    #安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    #启动Docker
    sudo systemctl start docker
    #设置Docker守护进程在系统启动时自动启动
    sudo systemctl enable docker
  2. 通过查看Docker版本命令,验证Docker是否安装成功。

    sudo docker -v

    如下图回显信息所示,表示Docker已安装成功。image

Anolis OS

在安装最新版本的Docker之前,请确保先卸载当前安装的Docker及其相关组件,避免潜在的安装冲突和兼容性问题。

卸载旧版本的Docker

  1. 执行以下命令来卸载旧版本的Docker和相关的软件包并删除Docker相关源,这个命令会帮您卸载掉所有列出的与Docker相关的程序。

    说明

    如果系统提示说部分软件包没有安装,说明您尚未安装此软件包。

    #删除Docker相关源
    sudo rm -f /etc/yum.repos.d/docker*.repo
    #卸载旧版本的Docker和相关的软件包
    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker默认保存位置是/var/lib/docker/,卸载Docker时,镜像、容器、存储卷和网络不会被自动删除。如果您想要删除这些数据,需要手动删除。

  1. 执行以下命令安装Docker社区版本。

    说明

    如果您使用的是非阿里云服务器,请将http://mirrors.cloud.aliyuncs.com替换为https://mirrors.aliyun.com。

    #添加Docker软件包源
    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
    #安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件
    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    #启动Docker
    sudo systemctl start docker
    #设置Docker守护进程在系统启动时自动启动
    sudo systemctl enable docker
  2. 通过查看Docker版本命令,验证Docker是否安装成功。

    sudo docker -v

    如下图回显信息所示,表示Docker已安装成功。image

配置镜像源

当Docker Hub镜像拉取受网络影响时,可配置Docker镜像源提升速度。但请注意,镜像源配置不适用于docker search命令,因为它直接查询Docker Hub。

说明
  • 要配置阿里云容器镜像服务ACR镜像加速器,请登录容器镜像服务控制台,在左侧导航栏选择镜像工具 > 镜像加速器,在镜像加速器页面获取加速器地址。

  • 网络不稳定可能导致加速器无法成功拉取指定版本的容器镜像。如需进一步解决方案,请参阅Docker Hub拉取失败解决方案。

  1. 您需要编辑Docker的配置文件/etc/docker/daemon.json,如果该文件不存在,您需要创建它。

    {
        "registry-mirrors": ["<加速器地址>"]
    }            
  2. 完成编辑后,保存文件并退出。然后,为了使新的配置生效,您需要重启Docker服务。这可以通过执行以下命令来完成。

    重要

    重启Docker会使您的Docker服务短暂不可用,请谨慎操作。

    sudo systemctl restart docker

创建简单Web程序镜像

以下是创建基于Nginx镜像的简单Web程序镜像。

  1. 构建Web程序镜像。

    #拉取Nginx镜像
    sudo docker pull nginx:latest
    #创建Dockerfile设置Nginx作为基础镜像,并在Web服务器的根目录创建一个显示Hello World!的index.html文件。
    sudo tee Dockerfile <<-'EOF'
    FROM nginx:latest
    RUN echo 'Hello World!' > /usr/share/nginx/html/index.html
    EOF
    #构建镜像,镜像名称为hello-world
    sudo docker build . -t hello-world:latest
  2. 启动Web程序镜像的容器,并且命名容器名称为hello-world。

    sudo docker run -d -p 80:80 --name hello-world hello-world:latest
  3. 执行curl http://localhost命令,验证Web程序是否正确显示Hello World!。

安装Docker Compose

如果您参考的本文安装Docker,那么Compose插件将默认安装到您的实例中。您可以通过如下命令查看。

sudo docker compose version

预期输出(vN.N.N代表Compose的版本):Docker Compose version vN.N.N。

如果您的Compose插件未成功安装或您需要使用Compose独立版(docker-compose)可参考下面内容。

重要
  • 使用Compose独立版时,命令中间要用连字符,比如docker-compose up。

  • 使用Compose插件时,命令中间不用连字符,比如docker compose up。

Compose插件

Alibaba Cloud Linux 3、CentOS 8.x、Fedora

sudo dnf -y install docker-compose-plugin

Ubuntu、Debian

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

Alibaba Cloud Linux 2、CentOS 7.x、Red Hat、Anolis OS

sudo yum -y install docker-compose-plugin

使用查看Compose版本命令,验证Compose是否安装成功。

sudo docker compose version

Compose独立版

  1. 下载并安装Compose独立版。

    说明

    在尝试访问GitHub时,您可能会遇到由于网络问题导致的访问超时或连接失败等异常情况。为了解决这些问题,请尝试多次重新连接。

    curl -SL https://github.com/docker/compose/releases/download/v2.30.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
    #将可执行权限赋予安装目标路径中的独立二进制文件
    sudo chmod +x /usr/local/bin/docker-compose
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  2. 执行查看版本命令,测试是否安装成功。

    sudo docker-compose version

使用Docker Compose部署应用

以下是创建基于WordPress镜像的Web程序。

  1. 创建Compose编排文件并启动WordPress服务。

    #创建编排文件,添加Mysql与WordPress
    sudo tee docker-compose.yaml <<-'EOF'
    version: '3.1'
    
    services:
      wordpress:
        image: wordpress
        restart: always
        ports:
          - "80:80"
        environment:
          #数据库地址
          WORDPRESS_DB_HOST: db
          #数据库用户名
          WORDPRESS_DB_USER: wordpress
          #数据库密码
          WORDPRESS_DB_PASSWORD: 123456
          #数据库名称
          WORDPRESS_DB_NAME: wordpress
        volumes:
          - wordpress:/var/www/html
    
      db:
        image: mysql:5.7
        restart: always
        ports:
          - "3306:3306"
        environment:
          #数据库名称
          MYSQL_DATABASE: wordpress
          #数据库用户名
          MYSQL_USER: wordpress
          #数据库密码
          MYSQL_PASSWORD: 123456
          #数据库ROOT用户密码
          MYSQL_RANDOM_ROOT_PASSWORD: '1'
        volumes:
          - db:/var/lib/mysql
    
    volumes:
      wordpress:
      db:
    EOF
    #启动服务容器。
    sudo env "PATH=$PATH" docker compose up -d
  2. 在浏览器中输入http://云服务器ECS实例的公网IP,访问WordPress。

    说明

    需要在安全组放行80端口,详细信息,请参见添加安全组规则。

常见问题

http://mirrors.cloud.aliyuncs.com无法访问

  • 问题现象:地址http://mirrors.cloud.aliyuncs.com无法访问。

  • 可能原因:网络不稳定。

  • 解决方案:请将http://mirrors.cloud.aliyuncs.com替换为https://mirrors.aliyun.com。

    说明

    使用https://mirrors.aliyun.com需要您的实例已开通公网。如您不清楚如何开通公网,请参见开通公网。

执行dnf config-manager命令报错

  • 问题现象:在Linux系统实例中执行dnf config-manager命令出现如下报错:

    /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.
  • 可能原因:dnf版本太旧导致安装失败。

  • 解决方案:您可以尝试使用sudo dnf update dnf来更新dnf软件包到最新状态,然后再尝试安装Docker。

执行dnf install docker-ce命令报错

  • 问题现象:在Linux系统实例中执行dnf -y install docker-ce命令出现如下报错:

    (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.
  • 可能原因:软件包缓存太旧导致安装失败。

  • 解决方案:您可以尝试使用sudo dnf clean packages清理软件包缓存之后,再尝试安装docker。

  • 问题现象:在Linux系统实例中执行dnf -y install docker-ce命令出现如下报错:

    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
  • 可能原因:使用了已下线的CentOS 8软件源。

  • 解决方案:可参考如下步骤,使用阿里提供的可用源替换已下线的CentOS 8软件源。

    # 备份过期软件源。
    sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    # 下载阿里提供的CentOS-Base.repo 到 /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
    # 将阿里源中的软件源地址替换为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
    # 清理旧缓存并生成缓存。
    sudo yum clean all && sudo yum makecache

    执行完上述步骤后再尝试安装docker即可。

相关文档

  • Docker的更多使用方法,请参见Docker官方文档。

  • 阿里云推出了制品中心,为开发者免费提供了来源于阿里云官方、龙蜥社区的安全可信容器基础镜像。

  • 您可以使用企业P2P加速功能提升镜像拉取速度。具体操作,请参见在其他容器环境中使用P2P加速。

  • 您可以在Docker中配置CLI来管理您的阿里云资源。具体操作,请参见在Docker容器中运行阿里云CLI。

  • 如果您需要在轻量应用服务器上部署Docker,可参考基于轻量应用服务器上部署并使用Docker。

相关文章

安装Docker 2025-04-01 11:57

本文将介绍如何在云服务器ECS中安装和使用Docker与Docker Compose。

搭建Hadoop环境 2025-04-01 11:57

Hadoop是由Apache基金会使用Java语言开发的分布式开源软件框架,本文介绍如何在Linux操作系统的ECS实例上快速搭建Hadoop分布式和伪分布式环境。 背景信息

部署AMH面板 2025-04-01 11:57

AMH是一款基于LNMP(Linux, Nginx, MySQL, PHP)架构的免费开源主机面板,提供Web界面来简化服务器管理。安装后,您无需深入了解SSH命令,即可通过直观的图形界面轻松配置网站、管理数据库和文件,适合您进行日常服务器运维操作。

部署Java Web环境 2025-04-01 11:57

本文为您介绍Java Web环境的基本概念及主要构成,您也可以根据场景选择适合的Java Web环境部署方式,环境部署完成后,可以根据需求基于Java Web环境完成Java Web应用程序的开发、部署及运行。 Java Web环境是什么 用Java技术栈进行Web开发不仅能满足当前互联网应用的需求

部署Java环境 2025-04-01 11:57

Java是一种跨平台、面向对象的编程语言,以其“一次编写,到处运行”的特性而闻名。它在企业级应用、Web开发、移动应用和大数据处理等领域有着广泛的应用。本文介绍了部署Java环境的不同方法,包括自动化部署和手动部署。

部署LAMP环境 2025-04-01 11:57

LAMP环境是常用的Web开发环境之一,其中LAMP分别代表Linux、Apache、MySQL和PHP。LAMP拥有庞大的社区支持和丰富的资源,适合开发、部署和维护各种规模的Web应用,由于其高度灵活性和可定制性,您可以根据项目需求调整每个组件的配置,以达到最佳性能和安全性。 LAMP架构 Lin

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号