在腾讯云 CVM(Cloud Virtual Machine)上安装和运行 Docker,需根据您选择的 Linux 发行版(如 CentOS、Ubuntu、Debian 等)执行对应步骤。以下以 主流且推荐的 Ubuntu 22.04 LTS 和 CentOS 7/8(注意:CentOS 8 已停止维护,建议用 CentOS Stream 或 Rocky/AlmaLinux;腾讯云镜像默认多为 CentOS 7 或 TencentOS Server) 为例,提供安全、稳定、符合最佳实践的完整操作指南:
✅ 通用前提条件
- 已登录 CVM(通过 SSH,如
ssh -i key.pem ubuntu@xx.xx.xx.xx) - CVM 系统已更新(建议先升级)
- 具备
sudo权限(推荐使用非 root 用户操作) - 网络通畅(需能访问
download.docker.com或国内镜像源)
✅ 方案一:Ubuntu 22.04 / 20.04(推荐)
# 1. 更新系统并安装依赖
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg lsb-release
# 2. 添加 Docker 官方 GPG 密钥(使用国内镜像提速)
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 3. 添加 Docker APT 仓库(清华源,更快更稳定)
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.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
# 4. 安装 Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 5. 启动并设置开机自启
sudo systemctl enable docker
sudo systemctl start docker
# 6. 验证安装(无需 sudo 运行 hello-world)
sudo docker run hello-world
# ✅ 可选:将当前用户加入 docker 组(避免每次用 sudo)
sudo usermod -aG docker $USER
# ⚠️ 执行后需重新登录 SSH 或运行:newgrp docker
💡 提示:若
docker run hello-world报错permission denied,请退出终端重登或执行newgrp docker。
✅ 方案二:CentOS 7(腾讯云常见镜像)
# 1. 卸载旧版本(如有)
sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 2. 安装必要工具
sudo yum install -y yum-utils
# 3. 添加 Docker CE 仓库(使用阿里云镜像源,国内更快)
sudo yum-config-manager
--add-repo
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 4. 安装 Docker(指定稳定版,避免安装测试版)
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 5. 启动并设为开机自启
sudo systemctl enable docker
sudo systemctl start docker
# 6. 验证
sudo docker run hello-world
# ✅ 可选:添加当前用户到 docker 组
sudo usermod -aG docker $USER
# 退出重登或执行:newgrp docker
📌 注意:CentOS 7 默认使用
containerd作为容器运行时,上述安装已自动配置,无需额外操作。
✅ 方案三:TencentOS Server(腾讯云定制版,基于 CentOS/RHEL)
TencentOS Server 3.x(内核 5.4+)已预装 podman,但 Docker 仍可手动安装(推荐使用官方源):
# 方法同 CentOS 7(因兼容 RHEL),但推荐优先使用清华源或腾讯云镜像:
sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
🔐 安全加固建议(生产环境必做)
| 项目 | 操作 |
|---|---|
| 🔒 限制 Docker API 访问 | 默认只监听 Unix socket (/var/run/docker.sock),切勿启用 tcp://0.0.0.0:2375(高危!) |
| 🛡️ 配置 containerd 使用 systemd cgroup 驱动(推荐) | 编辑 /etc/containerd/config.toml,确保:[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]SystemdCgroup = true然后 sudo systemctl restart containerd |
| 🧹 清理无用镜像/容器 | docker system prune -a -f(谨慎执行) |
| 📦 使用非 root 用户管理 | 通过 usermod -aG docker $USER 实现权限最小化 |
🐳 快速验证是否成功
# 查看 Docker 版本
docker --version
# 查看运行状态
sudo systemctl status docker
# 查看运行中的容器(应为空)
docker ps
# 运行一个 Nginx 测试容器(后台 + 端口映射)
docker run -d -p 8080:80 --name web-test nginx:alpine
# 在浏览器访问 http://<你的CVM公网IP>:8080,应看到 Nginx 欢迎页
✅ 成功标志:页面显示 “Welcome to nginx!”,且
docker ps显示该容器正在运行。
❗ 常见问题排查
| 现象 | 原因与解决 |
|---|---|
Cannot connect to the Docker daemon |
未启动服务 → sudo systemctl start docker;或用户未加入 docker 组 → sudo usermod -aG docker $USER + 重登 |
Permission denied while trying to connect to the Docker daemon socket |
同上,检查 ls -l /var/run/docker.sock,确认属组为 docker |
Failed to download metadata for repo 'docker-ce-stable' |
网络问题或仓库地址失效 → 检查网络、更换镜像源(如换为 https://mirrors.ustc.edu.cn/docker-ce/) |
| CVM 内存不足导致容器启动失败 | 腾讯云轻量应用服务器/CVM 低配机型(如 1C1G)可能内存紧张 → 关闭无用服务,或升级配置 |
✅ 总结推荐流程(一步到位脚本,Ubuntu 示例):
# 复制粘贴执行(Ubuntu 22.04)
curl -fsSL https://get.docker.com | sh &&
sudo systemctl enable docker &&
sudo systemctl start docker &&
sudo usermod -aG docker $USER &&
echo "✅ Docker 安装完成!请退出终端后重新登录,再执行 'docker run hello-world'"
⚠️ 注意:
get.docker.com是官方一键脚本,生产环境建议用上面分步方式(可控、可审计);开发/测试环境可用此简化。
需要我为你生成:
- ✅ 自动化安装脚本(支持 Ubuntu/CentOS/TencentOS 自动识别)
- ✅ Docker + Docker Compose + Portainer 一体化部署
- ✅ 腾讯云 CVM + Docker + Nginx + HTTPS(Let’s Encrypt)生产级部署模板
欢迎随时告诉我 👇
祝你顺利上云!🚀
云知识