Ubuntu20.04部署docker及docker-compose(使用国内镜像源)
2026/9/7 19:12:00 网站建设 项目流程

一、卸载系统原有旧版本Docker

首先清理系统中可能存在的旧版本Docker相关包:

sudo apt remove -y docker docker-engine docker.io containerd runc sudo apt autoremove -y


二、安装必要依赖包

sudo apt update sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release


三、添加国内Docker GPG密钥

选择以下任意一个国内镜像源的GPG密钥(推荐清华大学或阿里云):

#方案1:清华大学镜像源(推荐)

sudo mkdir -p /etc/apt/keyrings curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg


#方案2:阿里云镜像源

sudo mkdir -p /etc/apt/keyrings curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg


#方案3:中国科学技术大学镜像源

sudo mkdir -p /etc/apt/keyrings curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg


四、配置国内Docker APT软件源

根据您选择的GPG密钥,对应配置相同的软件源:

对应方案1:清华大学源

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


对应方案2:阿里云源

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


对应方案3:中科大源

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


五、安装Docker CE及相关组件

sudo apt update -y sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose docker-compose-plugin

六、配置Docker国内镜像加速器

这是关键步骤,解决后续拉取Docker镜像速度慢或失败的问题:

sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://docker.m.daocloud.io", "https://docker.xuanyuan.me", "https://docker.1ms.run", "https://docker.mirrors.ustc.edu.cn", "https://mirror.baidubce.com" ], "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" } } EOF

重启Docker服务使配置生效,并查看服务状态:

sudo systemctl daemon-reload sudo systemctl restart docker sudo systemctl status docker


七、验证安装是否成功

# 验证Docker版本

docker --version

正常输出示例:


# 验证Docker Compose插件

docker-compose version

正常输出示例:


# 运行测试容器

sudo docker run --rm hello-world

如果看到"Hello from Docker!"的欢迎信息,说明Docker安装和配置完全成功。

八、(可选)将当前用户添加到docker组

避免每次使用docker命令都需要sudo:

sudo usermod -aG docker $USER

重要:执行完此命令后,需要重启才能生效。

九、如果上述在线安装仍失败:离线安装方案

如果你的环境完全无法访问外部网络,可以使用离线安装方式:

步骤1:在有网络的机器上下载离线包
访问阿里云镜像站下载对应Ubuntu 20.04(focal)的deb包:
地址:https://mirrors.aliyun.com/docker-ce/linux/ubuntu/dists/focal/pool/stable/amd64/

需要下载以下5个文件(版本号可能不同,下载最新版即可):
1. containerd.io_*.deb
2. docker-ce-cli_*.deb
3. docker-ce_*.deb
4. docker-buildx-plugin_*.deb
5. docker-compose-plugin_*.deb

步骤2:将下载的deb包上传到目标虚拟机

步骤3:按顺序安装离线包

sudo dpkg -i containerd.io_*.deb sudo dpkg -i docker-ce-cli_*.deb sudo dpkg -i docker-ce_*.deb sudo dpkg -i docker-buildx-plugin_*.deb sudo dpkg -i docker-compose-plugin_*.deb


步骤4:启动Docker服务并配置镜像加速器

sudo systemctl enable --now docker

然后按照第六步配置国内镜像加速器。

十、常见问题解决

1. GPG密钥验证失败:重新执行第三步下载GPG密钥
2. apt update失败:尝试更换其他国内镜像源
3. docker命令执行权限不足:执行第八步并重新登录
4. 镜像拉取失败:检查daemon.json配置是否正确,重启Docker服务

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询