在腾讯云轻量应用服务器(Lighthouse)上安装 Docker Compose,核心逻辑其实和在其他 Linux 发行版(如 Ubuntu、CentOS、Debian)上没有本质区别。因为轻量应用服务器底层就是标准的 Linux 系统。
但既然你提到了腾讯云环境,我就结合一些实际踩坑经验和最佳实践,给你一套最稳妥、最干净的操作方案。别去搞那些花里胡哨的一键脚本,容易残留垃圾文件或者权限混乱。
第一步:确认你的服务器 OS 版本
登录 SSH 后,先看清楚你用的是哪个系统,命令不同会有细微差别:
cat /etc/os-release
- 如果是 Ubuntu/Debian:用
apt - 如果是 CentOS/RHEL/Alibaba Cloud Linux:用
yum或dnf
注意:腾讯云轻量应用服务器默认镜像很多是 Ubuntu 20.04/22.04 或 Debian 11,这部分用户最多。以下以 Ubuntu/Debian 为例,CentOS 用户把
apt换成yum即可。
第二步:正确安装 Docker Engine(前提条件)
Docker Compose 需要依赖 Docker Engine。很多人直接装 Compose 发现报错,是因为没装 Docker 或者 Docker 版本太老。
1. 卸载旧版本(如果有)
sudo apt-get remove docker docker-engine docker.io containerd runc
2. 设置 Docker 官方源(关键!)
不要直接用 apt install docker.io,那个版本往往很老,且功能不全。要用官方源。
# 更新包索引
sudo apt-get update
# 安装必要依赖
sudo apt-get install 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
# 设置稳定版仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 再次更新并安装 Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
重点:这里安装了
docker-compose-plugin,这是新版 Docker 推荐的方式(V2)。但为了兼容性和通用性,我们通常还是会单独下载二进制版的docker-compose作为备用,或者直接使用插件版。下面我会给出两种方案。
3. 验证 Docker 是否正常运行
sudo systemctl start docker
sudo systemctl enable docker
sudo docker run hello-world
如果看到 Hello from Docker!,说明 Docker 引擎没问题。
第三步:安装 Docker Compose(二选一)
方案 A:使用 Docker 官方插件(推荐,适合新手)
如果你上面第二步已经安装了 docker-compose-plugin,那你现在可以直接用了:
docker compose version
注意这里是
docker compose(空格),不是docker-compose(横杠)。这是 V2 版本的语法。
优点:随 Docker 升级而自动升级,无需手动管理二进制文件。
缺点:某些老旧的第三方工具可能只认 docker-compose 命令。
方案 B:独立安装二进制文件(经典,兼容性最好)
如果你希望命令是 docker-compose,或者你的 Docker 版本较老不支持插件,建议用这种方式:
-
下载最新稳定版
# 查看 GitHub Releases 页面获取最新版本号,例如 v2.24.0 sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose -
赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose -
验证
docker-compose version
腾讯云轻量服务器特别提醒:如果你的服务器内存只有 1GB 或更低,建议在
/etc/sysctl.conf中开启 swap,防止 Docker 容器启动时 OOM(内存溢出)导致崩溃。
第四步:配置免 sudo 运行(提升体验)
每次都要敲 sudo docker-compose up 很麻烦,而且容易出错。建议将当前用户加入 docker 组:
sudo usermod -aG docker $USER
newgrp docker
然后重新连接 SSH 或重启终端,之后就可以直接运行 docker-compose up 了。
第五步:腾讯云特有注意事项(避坑指南)
-
安全组放行
腾讯云轻量应用服务器有独立的“防火墙”设置(在控制台 -> 防火墙规则)。- 如果你要跑 Web 服务(如 Nginx、Node.js),记得在控制台添加规则,放行对应端口(如 80, 443, 3000 等)。
- 不要直接开放 22 以外的所有端口,除非你清楚自己在做什么。
-
数据持久化
轻量应用服务器的磁盘性能虽然不错,但建议将重要数据挂载到云硬盘或使用本地存储的合理路径。
在docker-compose.yml中,务必使用volumes映射主机目录,而不是让数据存在容器内。否则容器重建数据就没了。 -
网络模式
默认使用bridge模式即可。如果需要宿主机直接访问容器端口,确保-p参数映射正确,并且安全组已放行。 -
国内提速
Docker Hub 在国内拉取镜像可能较慢。可以在/etc/docker/daemon.json中添加镜像提速器(阿里云、腾讯云都提供免费的个人版提速地址):{ "registry-mirrors": ["https://<你的专属提速地址>.mirror.aliyuncs.com"] }修改后重启 Docker:
sudo systemctl restart docker
总结
在腾讯云轻量应用服务器上安装 Docker Compose,最简路径是:
- 通过官方源安装最新版 Docker CE +
docker-compose-plugin。 - 将用户加入
docker组。 - 在控制台防火墙放行所需端口。
- 使用
docker compose up -d启动服务。
这样既保证了安全性,又避免了版本冲突问题。如果遇到具体报错,贴出错误日志再查,大概率是端口占用或权限问题。
云技术博客