国内环境下安装 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
相关推荐
XiaoMaqqqq1 小时前
市面上正规的IP驱动产业新场景新工具哪家强
运维·python·网络协议·tcp/ip
huainingning2 小时前
RJ SW Console口忘记密码处理方法
linux·运维·服务器
布裘2 小时前
【银河麒麟】桌面系统循环登录,无法进入桌面?
linux·运维·服务器
慧都小项2 小时前
程序到了Linux才出错?用CLion把调试接到目标环境
linux·运维·服务器
Lsetea2 小时前
OpenSSL verify报unhandled critical extension:error 34与关键扩展排查
运维·https·ssl证书·openssl·证书链
guo_wen_qiang3 小时前
docker的备份与迁移
运维·docker·容器
Ruiery4 小时前
Linux 6.6内核内存管理深度解析(一):物理内存初始化 — memblock 怎么把内存交给 buddy
linux·运维·服务器
Android系统攻城狮5 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_max调用流程与实战(五十九)
linux·运维·服务器·gstreamer音视频·音视频进阶·gstreamer音视频进阶
忆挽篱笙歌5 小时前
makefil
linux·运维·服务器
小小龙学IT6 小时前
Kubernetes 深度实践:架构、API 与避坑指南
容器·架构·kubernetes