在腾讯云 CVM(云服务器)上部署 Docker 是构建现代应用架构的常规操作。以下基于主流 Linux 发行版(以 Ubuntu 20.04/22.04 和 CentOS 7/8 为例)提供一套稳定、规范的实操指南。
一、前置准备:网络与安全组配置
在操作系统层面安装之前,必须确保云平台的网络策略已放行。Docker 容器若需对外提供服务,必须在腾讯云控制台完成以下配置:
- 安全组规则:登录腾讯云控制台,找到你的 CVM 实例,进入“安全组”设置。
- 添加入方向规则:允许
TCP协议,端口范围填写你业务所需的端口(如80,443,8080等)。 - 注意:不要直接开放
0.0.0.0/0的所有端口,应遵循最小权限原则,仅开放必要端口。
- 添加入方向规则:允许
- 公网 IP:确认 CVM 已绑定弹性公网 IP(EIP),或处于 NAT 网关环境下可访问网络。
二、系统环境初始化
无论使用何种发行版,建议先更新系统包索引并安装基础工具。
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install -y curl gnupg lsb-release ca-certificates
# CentOS/RHEL
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
三、安装 Docker Engine
方案 A:Ubuntu 系统(推荐官方源)
使用官方提供的脚本或添加 Docker 官方 GPG 密钥是最稳妥的方式。
-
添加 Docker 官方 GPG 密钥:
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 -
安装 Docker 引擎及相关组件:
sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
方案 B:CentOS/RHEL 系统
-
添加 Docker 官方 YUM 源:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -
安装 Docker 引擎:
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
四、启动服务与权限配置
安装完成后,需启动服务并配置开机自启。
-
启动 Docker 服务:
sudo systemctl start docker sudo systemctl enable docker -
验证安装:
运行 Hello World 镜像测试环境是否正常:sudo docker run hello-world若看到欢迎信息,说明安装成功。
-
免 sudo 运行(可选):
为避免每次执行docker命令都加sudo,可将当前用户加入docker用户组:sudo usermod -aG docker $USER # 注意:修改组后需要重新登录 shell 才能生效 newgrp docker
五、运行第一个容器示例
这里以运行一个 Nginx Web 服务器为例,演示端口映射和数据持久化。
-
拉取并运行镜像:
# -p 80:80 表示将宿主机的 80 端口映射到容器的 80 端口 # -d 表示后台运行 # --name 指定容器名称 # -v 挂载宿主机目录到容器内(可选,用于数据持久化) sudo docker run -d -p 80:80 --name my-web-server nginx -
查看容器状态:
sudo docker ps此时应能看到
my-web-server正在运行。 -
访问测试:
在浏览器中输入http://<CVM 公网 IP>,若看到 Nginx 欢迎页,则说明网络链路畅通。
六、腾讯云 CVM 特有优化建议
为了提升 Docker 在云环境下的性能和稳定性,建议关注以下几点:
- 磁盘 I/O 优化:CVM 默认的系统盘通常为高效云盘。对于高并发读写场景,建议在挂载云硬盘时选择“高性能云盘”或“SSD 云盘”,并在文件系统层面进行适当调优。
- 镜像提速:国内网络环境下,拉取 Docker Hub 官方镜像可能较慢。可以配置阿里云或腾讯云的镜像提速器地址(需在
/etc/docker/daemon.json中配置registry-mirrors字段),但需注意镜像提速服务的使用条款合规性。 - 日志管理:Docker 容器日志默认会无限增长,可能占满 CVM 磁盘。务必在
daemon.json中配置日志轮转策略:{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }配置后重启 Docker 服务 (
sudo systemctl restart docker) 生效。
七、常见问题排查
- 端口无法访问:优先检查腾讯云控制台的“安全组”是否放行了对应端口,其次检查 CVM 内部防火墙(如
ufw或firewalld)。 - 容器启动立即退出:使用
sudo docker logs <容器 ID>查看具体报错信息,通常是应用配置错误或依赖缺失导致。 - 资源限制:CVM 实例的 CPU 和内存是物理硬上限,Docker 容器默认可占用全部资源。生产环境中建议使用
--cpus和--memory参数限制容器资源,防止单点故障影响整机。
通过以上步骤,即可在腾讯云 CVM 上完成 Docker 环境的标准化部署。后续可根据业务需求编写 docker-compose.yml 文件来编排多容器应用。
CLOUD云枢