在腾讯云轻量应用服务器(Lighthouse)上安装 Docker,核心逻辑和你在普通 ECS 或自建服务器上是一样的。但作为“轻量级”产品,它有一些特定的前置条件需要注意,尤其是网络连通性和系统版本的选择。
下面是一份基于实战经验的配置指南,去掉了废话,直接上干货。
一、 前置检查:你选对镜像了吗?
这是最容易踩坑的地方。腾讯云轻量应用服务器的镜像分为两类:
- Docker 预装镜像:如果你购买时直接选了“Docker 20.xx”或者“WordPress + Docker”这类组合镜像,系统里已经自带了 Docker 和 Docker Compose,跳过以下步骤,直接验证版本即可。
- Linux 通用镜像:如果你用的是 CentOS 7/8, Ubuntu 18.04/20.04/22.04, Debian 等纯净版镜像,则需要手动安装。
建议:对于生产环境,强烈推荐使用 Ubuntu 22.04 LTS 或 Debian 11+。CentOS 7 已停止维护,虽然还能用,但后续软件源支持会越来越差;CentOS Stream 或 Rocky Linux 也是不错的选择。以下以 Ubuntu 22.04 为例,其他发行版命令略有不同,我会标注。
二、 安装 Docker Engine
方案 A:使用官方脚本一键安装(推荐新手)
这是最稳妥的方式,自动处理依赖和 GPG 密钥。
# 1. 下载官方安装脚本
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 注意:加了 --mirror Aliyun 参数,在国内拉取镜像速度会快很多
方案 B:手动安装(适合喜欢掌控细节的人)
Ubuntu/Debian:
# 1. 更新包索引
sudo apt-get update
# 2. 安装依赖
sudo apt-get install ca-certificates curl gnupg lsb-release
# 3. 添加 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
# 4. 设置稳定版仓库(国内提速)
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
# 5. 再次更新并安装
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
CentOS/RHEL:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker # 确认状态是 active (running)
三、 关键配置:免 sudo 运行 & 镜像提速
1. 允许当前用户免 sudo 运行 Docker
默认情况下,Docker 守护进程绑定的是 Unix 套接字,只有 root 或 docker 组成员才能操作。为了方便开发,我们创建一个 docker 组并把你的用户加进去。
# 创建 docker 组(如果不存在)
sudo groupadd docker
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
# 生效更改(需要重新登录终端或执行以下命令)
newgrp docker
# 验证是否成功,不加 sudo 也能跑
docker ps
2. 配置国内镜像提速器(必做!)
腾讯云轻量服务器通常内网访问阿里云、腾讯云的镜像源很快,但为了拉取 Docker Hub 的官方镜像更快,建议配置阿里云或腾讯云提供的镜像提速地址。
腾讯云专属提速(推荐):
登录腾讯云控制台 -> 容器服务 -> 镜像提速器,获取你的专属地址。假设地址是 https://xxx.mirror.ccr.tencentyun.com。
编辑 daemon.json:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://<你的腾讯云镜像提速地址>",
"https://mirror.ccs.tencentyun.com"
],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
注意:
cgroupdriver=systemd是为了防止在某些 Linux 发行版下出现 cgroup 警告,特别是 Kubernetes 相关组件时很重要。
重启 Docker 使配置生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
四、 安全与防火墙配置
腾讯云轻量应用服务器有自己的“防火墙”规则,而不是直接用 iptables 或 firewalld。
-
腾讯云控制台设置:
- 进入轻量应用服务器控制台 -> 防火墙 -> 添加入方向规则。
- 开放你需要暴露的端口(如 80, 443, 8080, 2376 等)。
- 重要:除非你明确知道自己在做什么,否则不要开放 Docker 的远程 API 端口(2375 或 2376),这会带来极大的安全风险。
-
本地防火墙(可选):
- 如果你安装了
ufw(Ubuntu) 或firewalld(CentOS),确保它们没有拦截 Docker 创建的虚拟网卡流量。 - 通常 Docker 会自动管理 iptables/nftables 规则,只要云厂商的防火墙放行了端口,本地防火墙一般不需要额外干预。
- 如果你安装了
五、 验证安装
运行一个简单的测试容器:
docker run --rm hello-world
如果看到 “Hello from Docker!” 并且顺利退出,说明安装成功。
再试试 Docker Compose(如果安装了 plugin):
docker compose version
六、 常见问题排查(Troubleshooting)
-
报错
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?- 原因:Docker 服务没启动。
- 解决:
sudo systemctl start docker
-
拉取镜像特别慢
- 原因:未配置镜像提速。
- 解决:检查
/etc/docker/daemon.json中的registry-mirrors是否配置正确,并重启 Docker。
-
权限拒绝
permission denied- 原因:当前用户不在
docker组中。 - 解决:执行
sudo usermod -aG docker $USER,然后注销并重新登录 SSH 会话(这点很关键,newgrp有时不彻底)。
- 原因:当前用户不在
-
Kubernetes 部署报错 cgroup 问题
- 原因:kubelet 期望 systemd 作为 cgroup driver,而 Docker 默认可能是 cgroupfs。
- 解决:在
daemon.json中添加"exec-opts": ["native.cgroupdriver=systemd"],然后重启 Docker 和 kubelet。
总结
在腾讯云轻量应用服务器上装 Docker,90% 的工作在于选择合适的 Linux 镜像和配置好镜像提速器。一旦基础环境搞定,剩下的就是标准的 Docker 操作。记得定期清理无用镜像和容器,轻量服务器的磁盘空间通常不大:
# 定期清理
docker system prune -a --volumes
这样就能保持一个干净、高效的开发/运行环境。
云技术博客