对于新手而言,在腾讯云 CVM(云服务器)上搭建 Docker 环境并不复杂,甚至可以说是相对简单的。只要遵循标准的操作流程,整个过程通常可以在 10-20 分钟内完成。
不过,“不复杂”的前提是你需要避开一些常见的“坑”,比如镜像源配置、权限管理以及网络策略等。下面我将从准备工作、核心步骤、常见问题排查三个维度,为你拆解这一过程,并提供最稳妥的操作方案。
一、 为什么说不复杂?
- 系统基础友好:腾讯云 CVM 默认支持的操作系统(如 Ubuntu、CentOS 7/8、Debian)对 Docker 的支持非常成熟,官方文档齐全。
- 自动化脚本存在:Docker 官方提供了
install.sh一键安装脚本,极大降低了手动编译或配置 YUM/APT 源的门槛。 - 腾讯云生态完善:腾讯云控制台提供 VNC 远程连接、安全组规则可视化配置,即使 SSH 连接失败,也有兜底方案。
二、 标准操作流程(以 Ubuntu 20.04/22.04 为例)
注意:不同 Linux 发行版命令略有差异,以下以目前最主流的 Ubuntu 为例。若使用 CentOS/RHEL,请将
apt替换为yum或dnf。
第 1 步:登录服务器并更新系统
通过终端(Terminal)或腾讯云提供的 WebShell 登录服务器:
ssh root@你的CVM公网IP
执行系统更新(确保软件包列表是最新的):
sudo apt update && sudo apt upgrade -y
第 2 步:安装依赖和 Docker 官方密钥
这是为了信任 Docker 的官方仓库,防止中间人攻击或下载非官方版本。
# 安装必要的依赖工具
sudo apt install -y 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
第 3 步:安装 Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
第 4 步:验证安装
# 检查 Docker 是否运行
sudo systemctl status docker
# 测试运行 Hello World 容器
sudo docker run hello-world
如果看到 “Hello from Docker!” 字样,说明安装成功。
第 5 步:配置免 sudo 权限(可选但推荐)
每次运行 docker 命令都加 sudo 很麻烦,可以将当前用户加入 docker 用户组:
sudo usermod -aG docker $USER
# 重新登录使生效,或执行 newgrp docker
三、 国内环境关键优化:镜像提速器
由于网络原因,直接拉取 Docker Hub 镜像可能极慢或超时。这是新手最容易卡住的地方。
你需要配置阿里云或腾讯云的镜像提速器地址。
- 登录 腾讯云控制台 -> 容器服务 -> 镜像提速器(或直接搜索“镜像提速器”)。
- 复制给你的专属提速地址。
- 创建或编辑
/etc/docker/daemon.json文件:sudo nano /etc/docker/daemon.json写入以下内容(将
https://mirror.ccs.tencentyun.com替换为你自己的地址):{ "registry-mirrors": [ "https://your-accelerator-address.mirror.swr.myhuaweicloud.com", "https://mirror.ccs.tencentyun.com" ] } - 重启 Docker 服务:
sudo systemctl daemon-reload sudo systemctl restart docker
四、 新手常遇问题与避坑指南
1. 权限拒绝(Permission Denied)
- 现象:运行
docker ps提示Got permission denied... - 解决:确保已执行
sudo usermod -aG docker $USER并重新登录。或者临时使用sudo docker ps。
2. 容器无法访问网络
- 原因:Docker 使用 NAT 网络,有时与云服务器的路由冲突。
- 解决:一般默认即可。若异常,可尝试重启 Docker 服务:
sudo systemctl restart docker。
3. 端口不通(最常见!)
- 现象:容器内应用正常运行(
docker logs正常),但浏览器访问 IP:端口 显示超时。 - 原因:不是 Docker 的问题,是腾讯云安全组没开端口!
- 解决:
- 登录腾讯云控制台。
- 找到你的 CVM 实例 -> 点击“安全组”。
- 入站规则中,添加入方向规则:协议 TCP,端口范围(如 80, 8080, 3000 等),来源
0.0.0.0/0。 - 保存后等待几分钟生效。
4. 数据持久化丢失
- 现象:删除容器后,数据库或配置文件全部消失。
- 解决:使用 Volume 挂载 或 Bind Mount。例如:
docker run -d -v /host/path:/container/path --name myapp nginx这样即使容器删除,主机上的数据依然存在。
五、 进阶建议:使用 Docker Compose 管理多容器
当项目涉及多个服务(如 Nginx + MySQL + Redis)时,手动 docker run 会很混乱。推荐使用 docker-compose.yml 文件进行编排。
- 创建项目目录:
mkdir ~/myproject && cd ~/myproject - 创建
docker-compose.yml文件,定义服务。 - 启动:
docker compose up -d
这种方式更贴近生产环境实践,也更容易迁移到其他服务器。
总结
在腾讯云 CVM 上搭建 Docker 环境技术门槛低,主要挑战在于:
- 网络配置(镜像提速器、安全组端口放行)。
- 路径与权限管理(避免频繁使用 sudo,合理挂载卷)。
只要你按照上述步骤操作,特别是务必检查腾讯云安全组规则,就能顺利跑起第一个容器。建议先从简单的 Nginx 或 WordPress 开始练习,熟悉流程后再部署复杂应用。
云技术博客