在腾讯云轻量应用服务器(Lighthouse)上部署 Docker,整体流程简洁高效(因其基于标准 Linux 系统)。以下是详细、安全、生产就绪的推荐步骤(以 Ubuntu 22.04 LTS 或 CentOS 7/8 为例,Ubuntu 更常用且官方支持更完善):
✅ 前提条件
- 已购买并登录腾讯云轻量应用服务器(推荐选择 Ubuntu 22.04/24.04 或 CentOS Stream 9 镜像)
- 通过 SSH 连接到服务器(如
ssh -i key.pem ubuntu@xxx.xxx.xxx.xxx) - 具备
sudo权限(默认用户如ubuntu或root)
🐳 步骤一:系统更新与基础依赖安装
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl gnupg2 software-properties-common ca-certificates
# CentOS/RHEL(以 CentOS Stream 9 为例)
sudo dnf update -y
sudo dnf install -y dnf-plugins-core curl wget vim
💡 提示:轻量服务器默认可能禁用 swap(Docker 推荐关闭 swap),可跳过;若需检查:
swapon --show,如有则sudo swapoff -a并注释/etc/fstab中 swap 行。
🐳 步骤二:安装 Docker(推荐使用官方源,非 snap/apt 默认旧版)
✅ 方法一:官方一键脚本(最简单,适合测试/开发)
# 下载并运行官方安装脚本(自动适配系统)
curl -fsSL https://get.docker.com | sudo sh
# 启动并设置开机自启
sudo systemctl enable docker
sudo systemctl start docker
# 验证安装
sudo docker --version # 如:Docker version 26.x.x
sudo docker run hello-world # 拉取并运行测试容器(首次会下载镜像)
✅ 方法二:手动添加官方仓库(更可控,推荐生产环境)
# Ubuntu 示例(其他系统见 Docker 官方文档)
curl -fsSL https://download.docker.com/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://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
⚠️ 注意:
- 轻量服务器无需安装
docker-machine或docker-compose(v1);现代 Docker 已集成docker compose(v2)插件(已随docker-compose-plugin安装)。- 验证 Compose:
docker compose version(不是docker-compose命令,除非你额外安装了 v1)。
🐳 步骤三:配置非 root 用户免 sudo 使用 Docker(可选但强烈推荐)
# 将当前用户(如 ubuntu)加入 docker 组
sudo usermod -aG docker $USER
# 生效组权限(需重新登录或执行)
newgrp docker # 或直接退出 SSH 重连
✅ 验证:docker ps(无需 sudo 应返回空列表,无报错)
🐳 步骤四:(可选)优化 Docker 配置(提升稳定性 & 安全性)
1. 配置国内镜像提速(解决拉取慢/超时问题 ✅ 腾讯云用户强烈建议)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com", // 腾讯云官方镜像站(最快!)
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2. (可选)限制容器资源(防 OOM 占满内存)
轻量服务器内存有限(如 1GB/2GB),建议在 docker run 时加限制:
docker run -m 512m --memory-swap=512m nginx:alpine
或配置默认限制(需修改 /etc/docker/daemon.json 加 "default-runtime": "runc" + 启动参数,进阶操作)。
🐳 步骤五:验证与快速测试
# 查看 Docker 状态
sudo systemctl status docker
# 查看运行中的容器(应为空)
docker ps
# 运行一个 Nginx 测试服务(映射 8080 端口)
docker run -d -p 8080:80 --name mynginx nginx:alpine
# 检查是否成功
curl http://localhost:8080 # 或访问 http://<你的服务器公网IP>:8080
docker logs mynginx # 查看日志
docker stop mynginx && docker rm mynginx
🔒 安全加固建议(轻量服务器特别注意)
| 项目 | 建议 |
|---|---|
| 防火墙 | 腾讯云控制台 → 实例安全组中仅开放必需端口(如 22、80、443、自定义服务端口),禁止开放 2375/2376(Docker API)到公网! |
| Docker API | 默认只监听 Unix socket (/var/run/docker.sock),切勿启用 -H tcp://0.0.0.0:2375(高危!) |
| 定期更新 | sudo apt update && sudo apt upgrade docker-ce(Ubuntu)或 sudo dnf update docker-ce(CentOS) |
| 镜像来源 | 优先使用 docker.io/library/nginx(官方镜像)、避免不明第三方镜像 |
🚀 进阶提示(轻量服务器适用)
- ✅ 一键部署 Web 应用:配合
docker-compose.yml快速部署 WordPress、Nextcloud 等(腾讯云文档有模板)。 - ✅ 数据持久化:用
-v /data/nginx:/usr/share/nginx/html挂载宿主机目录,避免容器删除丢失数据。 - ✅ 备份镜像/容器:
docker save -o app.tar myapp:latest;恢复用docker load -i app.tar。 - ✅ 监控:轻量可用
cAdvisor(docker run -d --name=cadvisor -p 8080:8080 --privileged -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro gcr.io/cadvisor/cadvisor:v0.49.1),访问http://IP:8080。
❌ 常见问题排查
| 现象 | 解决方案 |
|---|---|
Cannot connect to the Docker daemon |
检查 sudo systemctl status docker 是否运行;确认用户是否在 docker 组并已重登 |
Permission denied while trying to connect to Docker daemon |
执行 newgrp docker 或重新 SSH 登录 |
docker pull timeout |
检查 /etc/docker/daemon.json 镜像提速地址是否生效;或临时换用 --registry-mirror=https://mirror.ccs.tencentyun.com |
port is already allocated |
sudo lsof -i :8080 查进程,或改用其他端口 |
✅ 总结一句话:
在腾讯云轻量服务器上部署 Docker,只需 更新系统 → 官方脚本安装 → 启动服务 → 配置镜像提速 → 加入 docker 用户组,5 分钟即可完成,再配合安全组策略,即可安全稳定运行容器化应用。
需要我为你提供:
- ✅ 一个完整的
docker-compose.yml示例(如 Nginx + PHP + MySQL)? - ✅ 自动化部署脚本(
.sh一键安装)? - ✅ 腾讯云轻量 + Docker + Nginx 反向X_X HTTPS 的完整教程?
欢迎随时告诉我 👇
云小栈