国内环境下安装 docker-ce 的完整步骤


各专栏更新如下👇

大模型初探分享零基础AI学习经历

OAI-5G开源通信平台实践

OpenWRT常见问题分析

5G CPE 组网技术分享

Linux音视频采集及视频推拉流应用实践详解

得力工具提升工作效率


执行 apt-get install docker-ce 时遇到了"Package 'docker-ce' has no installation candidate"错误,核心原因是系统默认软件源中没有 Docker 官方包,且国内访问 Docker 官方源不稳定。以下是国内环境下安装 docker-ce 的完整步骤(以 Ubuntu/Debian 系统为例):

一、前置准备:卸载旧版本(如有)

先清理可能存在的旧版 Docker,避免冲突:

bash 复制代码
sudo apt-get remove docker docker-engine docker.io containerd runc

二、配置 Docker 国内源(阿里云源,最稳定)

1. 安装必要依赖

bash 复制代码
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release

2. 添加 Docker 官方 GPG 密钥(国内可访问的地址)

bash 复制代码
# 信任阿里云 Docker 镜像源的 GPG 密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

3. 添加阿里云 Docker 软件源到系统

bash 复制代码
# 生成源列表文件(适配 Ubuntu 各版本,lsb_release -cs 自动识别系统版本)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

三、安装 docker-ce

1. 更新软件源缓存

bash 复制代码
sudo apt-get update

2. 安装 Docker CE 核心包

bash 复制代码
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

此时不会再出现"no installation candidate"错误,因为已经从阿里云源获取了包信息。

3. 安装 Docker Compose(国内源)

bash 复制代码
# 安装 Docker Compose(适配 v2 版本)
sudo curl -L "https://mirrors.aliyun.com/docker-toolbox/linux/static/stable/x86_64/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

四、验证安装是否成功

bash 复制代码
# 启动 Docker 服务
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
# 验证 Docker 版本
docker --version
# 运行测试容器(验证功能正常)
sudo docker run hello-world

如果能看到"Hello from Docker!"的提示,说明安装成功。

五、额外优化(国内镜像加速)

为了让 Docker 拉取镜像更快,配置国内镜像加速器:

bash 复制代码
# 创建配置文件目录
sudo mkdir -p /etc/docker
# 写入阿里云加速器配置(替换为自己的加速器地址,可从阿里云容器镜像服务获取)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://你的阿里云加速器地址.mirror.aliyuncs.com"]
}
EOF
# 重启 Docker 生效
sudo systemctl daemon-reload
sudo systemctl restart docker
相关推荐
躺不平的理查德1 小时前
Shell逻辑判断备忘录
运维·服务器·git
Leida_wanglin2 小时前
工作经验-问题总结
运维
其实防守也摸鱼2 小时前
软件安全与漏洞--软件安全设计
运维·网络·安全·网络安全·密码学·需求分析·软件安全
Liangwei Lin2 小时前
LeetCode 76. 最小覆盖子串
运维·服务器
Mortalbreeze3 小时前
深度理解进程----进程状态
linux·运维·服务器
艾莉丝努力练剑3 小时前
【Linux网络】Linux 网络编程入门:TCP Socket 编程(下)
linux·运维·服务器·网络·c++·tcp/ip
yuezhilangniao3 小时前
Ansible基础 ansible入门 针对不同python3版本 - 含 Terraform 入门联动
运维·自动化·ansible
宵时待雨3 小时前
linux笔记归纳4:进程概念
linux·运维·服务器·c++·笔记
leoZ2313 小时前
Linux 环境常用服务一键部署文档(Docker 版)
运维·docker·容器