Docker与Docker Compose(插件方式)搭建

前排提醒: 本文搭建方法均来自于官方文档TUNA镜像。安装后使用docker --versiondocker compose version测试是否安装成功,鉴于Docker Hub被墙,本文会在最后设置镜像地址。

Ubuntu

  1. 设置Docker的apt仓库

    # 添加Docker的官方GPG密钥
    sudo apt update
    sudo apt install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
    
    # 添加仓库到apt源
    echo \
     "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
     "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
     sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt update
    
  2. 安装Docker

    • 安装最新版本

      sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      
    • 安装指定版本

      安装指定版本的Docker Engine前,先列出仓库中的可用版本

      # 列出可用版本:
      apt-cache madison docker-ce | awk '{ print $3 }'
      
      5:28.0.2-1~ubuntu.24.04~noble
      5:28.0.1-1~ubuntu.24.04~noble
      ...
      

      选取指定版本并安装

      VERSION_STRING=5:28.0.2-1~ubuntu.24.04~noble
      sudo apt install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
      

Debian

  1. 设置Docker的apt仓库

    # 添加Docker的官方GPG密钥
    sudo apt update
    sudo apt install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
    
    # 添加仓库到apt源
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
      "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt update
    
  2. 安装Docker

    • 安装最新版本

      sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      
    • 安装指定版本

      安装指定版本的Docker Engine前,先列出仓库中的可用版本

      # 列出可用版本:
      apt-cache madison docker-ce | awk '{ print $3 }'
      
      5:28.0.2-1~debian.12~bookworm
      5:28.0.1-1~debian.12~bookworm
      ...
      

      选取指定版本并安装

      VERSION_STRING=5:28.0.2-1~debian.12~bookworm
      sudo apt install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
      

RHEL

  1. 设置Docker仓库

    安装dnf-plugins-core包来管理DNF仓库,然后设置官方仓库并把软件仓库地址替换为镜像站。

    sudo dnf -y install dnf-plugins-core
    sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
    sudo sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
    
  2. 安装Docker

    • 安装最新版本

      sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      

      启动Docker Engine

      sudo systemctl enable --now docker
      
    • 安装指定版本

      安装指定版本的Docker Engine前,先列出仓库中的可用版本

      dnf list docker-ce --showduplicates | sort -r
      
      docker-ce.x86_64    3:28.0.2-1.el9    docker-ce-stable
      docker-ce.x86_64    3:28.0.1-1.el9    docker-ce-stable
      <...>
      

      选取指定版本并安装,通过完整软件包名称安装特定版本,该名称由软件包名称docker-ce和版本字符串(第二列)组成,并用连字符(-)分隔。例如:docker-ce-3:28.0.2-1.el9

      sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
      

      启动Docker Engine

      sudo systemctl enable --now docker
      

Fedora

  1. 设置Docker仓库

    安装dnf-plugins-core包来管理DNF仓库,然后设置官方仓库并把软件仓库地址替换为镜像站。

    sudo dnf -y install dnf-plugins-core
    sudo dnf-3 config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
    sudo sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
    
  2. 安装Docker

    • 安装最新版本

      sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      

      启动Docker Engine

      sudo systemctl enable --now docker
      
    • 安装指定版本

      安装指定版本的Docker Engine前,先列出仓库中的可用版本

      dnf list docker-ce --showduplicates | sort -r
      
      docker-ce.x86_64    3:28.0.2-1.fc41    docker-ce-stable
      docker-ce.x86_64    3:28.0.1-1.fc41    docker-ce-stable
      <...>
      

      选取指定版本并安装,通过完整软件包名称安装特定版本,该名称由软件包名称docker-ce和版本字符串(第二列)组成,并用连字符(-)分隔。例如:docker-ce-3:28.0.2-1.fc41

      sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
      

      启动Docker Engine

      sudo systemctl enable --now docker
      

CentOS

  1. 设置Docker仓库

    安装dnf-plugins-core包来管理DNF仓库,然后设置官方仓库并把软件仓库地址替换为镜像站。

    sudo dnf -y install dnf-plugins-core
    sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
    
  2. 安装Docker

    • 安装最新版本

      sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      

      启动Docker Engine

      sudo systemctl enable --now docker
      
    • 安装指定版本

      安装指定版本的Docker Engine前,先列出仓库中的可用版本

      dnf list docker-ce --showduplicates | sort -r
      
      docker-ce.x86_64    3:28.0.2-1.el9    docker-ce-stable
      docker-ce.x86_64    3:28.0.1-1.el9    docker-ce-stable
      <...>
      

      选取指定版本并安装,通过完整软件包名称安装特定版本,该名称由软件包名称docker-ce和版本字符串(第二列)组成,并用连字符(-)分隔。例如:docker-ce-3:28.0.2-1.el9

      sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
      

      启动Docker Engine

      sudo systemctl enable --now docker
      

Docker镜像设置

本文使用轩辕镜像借助搭建。

创建 /etc/docker/daemon.json,设置 registry mirrors

{
    "registry-mirrors": [
        "https://docker.xuanyuan.me"
    ]
}

但笔者发现修改此文件并无效果,应当打开~/.docker/daemon.json,文件内容原本应如下

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false
}

在最后添加上述文本,最终修改如下

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://docker.xuanyuan.me"
  ]
}

重启docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker
posted @ 2025-03-20 14:51  絵守辛玥  阅读(381)  评论(0)    收藏  举报