在腾讯云服务器(CVM)上使用 Ubuntu 镜像部署 Docker 应用,核心流程是:安装 Docker 引擎 -> 配置基础环境 -> 拉取并运行容器。国内云厂商的 Ubuntu 镜像通常已预装部分工具,但 Docker 仍需手动安装或升级至最新版。
以下是基于生产环境稳定性的标准操作步骤:
1. 系统更新与依赖准备
登录 CVM 后,首先更新软件源并安装 Docker 所需的底层依赖。这一步能避免后续因缺少 ca-certificates 等包导致的证书验证失败。
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg lsb-release
2. 添加 Docker 官方 GPG 密钥与仓库
为了获取最新且稳定的版本,建议从 Docker 官方源安装,而非直接使用 Ubuntu 默认源中的旧版 Docker。
设置 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
添加 Docker 官方 APT 仓库:
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
更新源列表后,安装 Docker Engine、CLI 和 Containerd。同时推荐安装 docker-compose-plugin(原 docker-compose),以便通过 YAML 文件编排多容器应用。
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4. 验证安装与权限配置
安装完成后,先验证是否成功:
docker run hello-world
关键步骤:将当前用户加入 docker 组。
如果不执行此步,每次运行 docker 命令都需要加 sudo。将用户加入组后需重新登录或执行 newgrp docker 生效。
sudo usermod -aG docker $USER
# 注意:执行完上述命令后,建议注销并重新 SSH 登录,或者在当前终端执行 newgrp docker
再次验证(无需 sudo):
docker run hello-world
5. 腾讯云环境下的网络与安全组配置
这是国内云环境下最容易忽略的一环。Docker 容器内部服务默认绑定 0.0.0.0,但腾讯云的安全组(Security Group)默认拒绝所有入站流量。
- 操作路径:登录腾讯云控制台 -> 实例列表 -> 找到对应 CVM -> 点击“安全组” -> 编辑规则。
- 必须配置:添加入站规则,允许业务端口(如 80, 443, 8080 等)对
0.0.0.0/0开放。如果仅用于内网测试,可限制为特定 IP。
6. 部署应用示例
假设要部署一个 Nginx 网站,直接运行即可:
docker run -d -p 80:80 --name my-web nginx
此时访问 http://<你的 CVM 公网 IP> 即可看到 Nginx 欢迎页。
7. 进阶优化建议(生产环境必读)
- 开启 Docker 自动重启:防止服务器重启后容器挂掉。
sudo systemctl enable docker # 启动容器时加上 --restart=unless-stopped docker run -d --restart=unless-stopped -p 80:80 nginx - 日志管理:Docker 日志无限增长会占满磁盘。建议在
/etc/docker/daemon.json中配置日志轮转策略:{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }修改后需重启 Docker 服务 (
sudo systemctl restart docker)。 - 资源限制:在 K8s 或高负载场景下,务必在
docker run时指定 CPU 和内存限制,防止单个容器耗尽 CVM 资源导致其他服务不可用。
按照以上步骤,即可在腾讯云 Ubuntu 环境中快速、规范地构建 Docker 运行环境。如遇具体报错,请优先检查安全组规则和 docker logs <容器 ID> 输出。
CLOUD云枢