努力
加油

如何在腾讯云轻量服务器的Ubuntu系统中一键安装Docker?

在腾讯云轻量应用服务器(Lighthouse)上跑 Ubuntu 系统,安装 Docker 其实是个标准动作。不过因为国内网络环境的原因,直接照搬官方文档的 apt-get install 经常会出现下载超时或者依赖冲突的情况。

下面这套流程是我在实际生产环境和测试中验证过的“最稳”方案,兼顾了速度、稳定性和后续维护的便利性。

核心思路

  1. 清理旧坑:防止以前残留的 docker 包冲突。
  2. 配置国内镜像源:这是关键,直接用阿里云或腾讯云的 Docker CE 镜像源,下载速度快且稳定。
  3. 一键脚本执行:使用官方推荐的便捷脚本,但需指定国内源地址。

第一步:登录服务器并更新基础环境

SSH 连进你的 Ubuntu 实例后,先执行以下命令确保系统包列表是最新的,避免后续依赖报错:

sudo apt update && sudo apt upgrade -y

第二步:卸载可能存在的旧版本(可选但推荐)

如果你之前没装过 Docker,这步可以跳过。如果装过老版本,建议清理一下,避免新旧版本冲突:

sudo apt-get remove docker docker-engine docker.io containerd runc

第三步:安装依赖和配置密钥环

Docker 需要一些基础工具来通过 HTTPS 访问仓库,同时需要添加 Docker 官方的 GPG 密钥来验证软件包的合法性。

# 安装必要的依赖包
sudo apt-get install -y ca-certificates curl gnupg lsb-release

# 添加 Docker 官方的 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 设置权限
sudo chmod a+r /etc/apt/keyrings/docker.gpg

第四步:配置国内 Docker CE 镜像源(重点)

这里我们使用阿里云的镜像源(国内访问最稳定),将 Docker 的 apt 源指向阿里。

打开 sources list 文件:

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

注意:如果你的 Ubuntu 版本比较新(比如 22.04 Jammy, 24.04 Noble),这条命令会自动识别代号。如果是老版本如 18.04/20.04,也能完美兼容。

第五步:安装 Docker Engine

再次更新索引,然后安装 Docker:

sudo apt-get update

# 安装最新版 Docker
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

第六步:验证安装并配置非 root 用户权限

启动 Docker 服务并检查版本:

sudo systemctl start docker
sudo systemctl enable docker
docker --version

重要提示:免 sudo 运行 Docker

默认情况下,你需要每次命令前加 sudo 才能运行 Docker。为了开发方便,建议将当前用户加入 docker 用户组:

sudo usermod -aG docker $USER

执行完后,注销并重新登录 SSH,或者重启服务器,这样你就不需要再输入 sudo 了。你可以运行 docker run hello-world 测试一下。


进阶优化:配置国内镜像提速器

虽然拉取镜像快了不少,但为了应对突发的高并发拉取需求,建议配置镜像提速器。腾讯云轻量服务器本身在国内节点,通常直连速度尚可,但如果遇到慢的情况,可以配置阿里云的个人镜像提速地址。

  1. 登录阿里云容器镜像服务控制台,获取你的专属提速地址。
  2. 编辑 /etc/docker/daemon.json:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<你的专属ID>.mirror.aliyuncs.com"]
}
EOF
  1. 重启 Docker 服务生效:
sudo systemctl daemon-reload
sudo systemctl restart docker

常见问题排查

  • 问题:docker: command not found
    • 原因:可能是环境变量未刷新,或者安装失败。检查 /var/log/apt/history.log 看是否有错误日志。
  • 问题:拉取镜像特别慢或超时
    • 确认是否配置了上述的阿里云 apt 源。如果没有,Docker 会尝试连接国外官方源,在国内必卡。
  • 问题:防火墙拦截 2375 端口
    • 腾讯云轻量服务器默认开启防火墙。如果你需要通过远程 API 管理 Docker,记得在腾讯云控制台的安全组规则中放行相应端口。

总结

这套流程避开了网上那些过时的 add-apt-repository 方式(该方式在某些新版 Ubuntu 上已废弃或不稳定),采用了官方推荐的 GPG 密钥 + 国内镜像源的方式。对于腾讯云轻量服务器这种轻量级场景,资源占用小,稳定性高,是目前最靠谱的一键安装姿势。