在腾讯云服务器(CVM)上部署 Docker 环境非常简单,以下是详细、安全、生产就绪的步骤指南(适用于主流 Linux 发行版,如 Ubuntu 22.04/24.04 或 CentOS 7/8/Stream 9),已适配腾讯云网络环境和最佳实践:
✅ 前提条件
- 已开通腾讯云 CVM 实例(推荐选择 Ubuntu 22.04 LTS 或 CentOS Stream 9,兼容性好、长期支持)
- 实例已通过 SSH 登录(如
ssh -i your-key.pem ubuntu@xxx.xxx.xxx.xxx) - 安全组已放行所需端口(如 22、80、443、自定义服务端口;Docker 本身无需额外开放,但容器服务需按需配置)
🐳 步骤一:更新系统 & 安装依赖
▶ Ubuntu/Debian(推荐)
# 更新软件包索引
sudo apt update && sudo apt upgrade -y
# 安装必要依赖
sudo apt install -y
ca-certificates
curl
gnupg
lsb-release
software-properties-common
▶ CentOS/RHEL/AlmaLinux/Rocky/Stream
sudo dnf update -y
sudo dnf install -y
yum-utils
device-mapper-persistent-data
lvm2
curl
wget
gnupg2
tar
💡 提示:腾讯云镜像源国内访问更快(可选优化)
Ubuntu 用户可执行sudo sed -i 's/archive.ubuntu.com/mirrors.tencentyun.com/g' /etc/apt/sources.list
CentOS Stream 可用sudo dnf config-manager --set-enabled powertools(如需)
🐳 步骤二:添加 Docker 官方 GPG 密钥和仓库(推荐方式)
⚠️ 不建议使用
curl https://get.docker.com | sh(存在安全风险,且可能安装旧版或非稳定版)
▶ Ubuntu/Debian
# 添加 Docker 官方 GPG 密钥(使用腾讯云镜像提速下载)
curl -fsSL https://mirrors.tencentyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加稳定版仓库(自动适配系统架构)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.tencentyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 刷新源
sudo apt update
▶ CentOS/RHEL/Stream(以 Stream 9 为例)
# 添加 Docker CE 仓库(使用腾讯云镜像)
sudo yum-config-manager
--add-repo https://mirrors.tencentyun.com/docker-ce/linux/centos/docker-ce.repo
# (可选)启用 extras 仓库(某些系统需要)
sudo dnf config-manager --set-enabled crb # Stream 9+ 使用 crb 替代 extras
🐳 步骤三:安装 Docker Engine(稳定版)
▶ Ubuntu/Debian
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
▶ CentOS Stream 9 / RHEL 9+
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
✅ 验证安装:
docker --version # 如:Docker version 26.1.4, build ... docker compose version # Docker Compose v2.x(已内置)
🐳 步骤四:启动并设置开机自启
# 启动 Docker 服务
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
# 验证状态(应显示 active (running))
sudo systemctl status docker
🐳 步骤五:(重要)将当前用户加入 docker 组(免 sudo 运行)
# 创建 docker 组(如不存在)
sudo groupadd docker
# 将当前用户(如 ubuntu/centos)加入 docker 组
sudo usermod -aG docker $USER
# 生效组权限(立即生效,无需重启,但需重新登录或执行以下命令)
newgrp docker # 或直接关闭终端重连 SSH
✅ 测试免密运行:
docker run --rm hello-world
# 输出 "Hello from Docker!" 即成功!
🛡️ (可选)安全加固建议(腾讯云生产环境推荐)
| 项目 | 推荐操作 |
|---|---|
| Docker Rootless 模式 | 高安全性场景建议启用(避免 root 权限容器),参考 Docker 官方 Rootless 文档 |
| 配置镜像提速器 | 编辑 /etc/docker/daemon.json,添加腾讯云镜像提速地址(提升 pull 速度):{"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]}然后 sudo systemctl restart docker |
| 限制容器资源 | 启动容器时使用 --memory, --cpus, --pids-limit 等参数防资源耗尽 |
| 禁用 insecure-registries | 默认不配置,避免使用 http:// 私有仓库(除非内网且明确信任) |
| 定期更新 Docker | sudo apt update && sudo apt install --only-upgrade docker-ce |
🧪 快速验证:部署一个 Nginx 容器(可选)
# 拉取并运行 Nginx(映射到 8080 端口)
docker run -d --name my-nginx -p 8080:80 -v $(pwd)/html:/usr/share/nginx/html:ro nginx:alpine
# 查看运行状态
docker ps
# 在浏览器访问 http://<你的CVM公网IP>:8080
🔑 注意:确保 CVM 安全组已放行
8080端口!
❌ 常见问题排查
| 现象 | 解决方案 |
|---|---|
Permission denied while trying to connect to Docker daemon |
检查是否执行 newgrp docker 或重新登录 SSH;确认 groups 命令输出含 docker |
Cannot connect to the Docker daemon |
sudo systemctl status docker 看是否运行;检查 /var/run/docker.sock 权限 |
docker: command not found |
检查安装是否完成;执行 hash -r 或重启 shell |
Failed to fetch 源错误 |
检查网络(ping mirrors.tencentyun.com);临时换为官方源或阿里云镜像 |
✅ 恭喜!你已在腾讯云 CVM 上成功部署生产级 Docker 环境。
下一步可:
- 使用
docker-compose部署多容器应用(如 WordPress + MySQL) - 配合腾讯云 CLB(负载均衡)、CFS(文件存储)、TKE(容器服务)构建高可用架构
- 集成 CI/CD(如 GitHub Actions + 腾讯云 CODING)
需要我为你提供:
- ✅
docker-compose.yml示例(Nginx + PHP-FPM + MySQL) - ✅ 腾讯云镜像仓库(TCR)私有镜像配置指南
- ✅ Docker + Nginx 反向X_X + HTTPS(Let’s Encrypt)一键脚本
欢迎随时告诉我 👇
祝你上云顺利,容器飞驰!🚀
云知识