---
title: "从阿里云源安装 Docker CE 以及私有部署 Docker 加速器"
date: 2024-06-11T11:03:07.000Z
author: Z.SHINCHVEN
tags: [Docker, Aliyun]
canonical: https://atlassc.net/2024/06/11/install-docker-ce-from-aliyun
---
`遥遥领先`搞了个安全可信的 Docker 源，顺手干掉了包括 Docker 官方和其他免费公益加速器。如果你还是不得不在这个糟糕的环境中使用 Docker，那么可以尝试从阿里云的源安装 Docker CE。以下是如何在 Ubuntu 上安装 Docker CE 并使用部署私有的 Docker 加速器的步骤。

## 从阿里云源安装 Docker CE

要从阿里云的源安装 Docker 在 Ubuntu 上，可以按照以下步骤进行操作：

1. **更新 APT 包索引并安装必要的软件包**：
   ```bash
   sudo apt-get update
   sudo apt-get install \
       ca-certificates \
       curl \
       gnupg \
       lsb-release
   ```

2. **添加阿里云的 Docker GPG 密钥**：
   ```bash
   curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
   ```

3. **设置阿里云的 Docker 仓库**：
   创建一个新的 Docker 仓库源列表文件：
   ```bash
   echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
   ```

4. **更新 APT 包索引并安装 Docker**：
   ```bash
   sudo apt-get update
   sudo apt-get install docker-ce docker-ce-cli containerd.io
   ```

5. **验证 Docker 是否成功安装**：
   ```bash
   sudo docker --version
   ```

以上步骤将帮助你从阿里云的源安装 Docker。安装完成后，可以通过运行 `sudo docker run hello-world` 来验证 Docker 是否能够正常运行。

## 部署私有 Docker 加速器

要破解这种自我卡脖子的迷惑行为，你可以尝试在灯塔国家[租一个便宜的VPS](/2023/11/05/racknerd)来部署一个私有的 Docker 加速器。

1. **部署 Docker Registry Mirror**：
   Docker 的 registry 本身就支持 mirror 功能，可以通过配置 Docker registry 的 mirror 来实现加速。以下是一个 docker-compose 配置示例：
   ```yml
   version: "3.8"
   services:
   docker-registry:
      image: registry:2
      container_name: registry-mirror
      restart: always
      ports:
         - "5000:5000"
      # volumes: 
         # - /data/docker-registry:/data   # 数据存放目录
      environment:
         - REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io ## 镜像源地址
         # - REGISTRY_PROXY_USERNAME=username 
         # - REGISTRY_PROXY_PASSWORD=password
         - REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/data
         # - http_proxy=http://10.0.0.1:1080  # 设置代理
         # - https_proxy=http://10.0.0.1:1080 # 设置代理
   ```

2. **启动 Docker Registry Mirror**：
   ```bash
   docker-compose down # 如果你的硬盘比较小，建议设置个定时任务定时重新部署一下容器，以清理空间
   docker-compose up -d
   ```

3. **配置 HTTPS**：
   Docker registry 需要通过 HTTPS 来访问，可以通过 Nginx 和 Let's Encrypt 来实现。可以参考这篇日志实安装和配置 [在 Linux 上安装 Certbot 和 Nginx](/2020/11/09/install-certbot)。

4. **使用 Cloudflare 掩盖服务器 IP**。
   建议使用 Cloudflare 来掩盖你的服务器 IP。这一步你进到 Cloudflare 的控制面板，将你的域名解析到你的服务器 IP 启动 Cloudflare 的 Proxy 功能即可。
