腾讯云CVM实例上Ubuntu系统配置Docker环境的方法是什么?

在腾讯云 CVM(云服务器)上跑 Ubuntu 并部署 Docker,这几乎是云原生时代的“标准起手式”。虽然 Docker 官方文档很全,但在国内云厂商的环境下,直接照搬国外教程可能会遇到下载慢、源不稳定或者权限问题。

下面这套流程是我在实际生产环境和高并发测试中验证过的,兼顾了安装效率、版本稳定性和后续维护便利性。我们主要采用 Docker CE(社区版) 的官方推荐方式安装,避免使用 apt install docker.io 这种可能带来版本滞后或依赖冲突的方式。

一、 前置准备:系统检查与基础优化

登录到你的 Ubuntu CVM 实例(推荐使用 SSH 连接)。首先确认你的系统是 64 位且内核版本符合要求(Ubuntu 18.04/20.04/22.04 LTS 均完美支持)。

# 查看系统版本
lsb_release -a

# 确保没有旧版本的 Docker 干扰
sudo apt-get remove docker docker-engine docker.io containerd runc

注意:如果是全新实例,这一步可以跳过;如果是从旧环境迁移过来的,务必清理残留,防止端口冲突或配置混乱。

二、 核心步骤:安装 Docker CE

为了在国内网络环境下获得更快的下载速度和更稳定的源,建议直接使用 Docker 官方提供的脚本进行自动化安装,或者手动配置 APT 源。这里推荐手动配置源的方式,因为可控性更强,适合长期运维。

1. 更新包索引并安装依赖

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release -y

2. 添加 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

3. 设置稳定版仓库

根据你当前的 Ubuntu 版本自动匹配架构(amd64/arm64),这点很重要,因为腾讯云也有 ARM 实例。

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

注:如果你发现访问 download.docker.com 速度极慢,可以考虑替换为阿里云镜像源地址,但通常官方源在国内大部分区域延迟尚可接受。若实在卡顿,可临时使用阿里云 Docker 源配置方法(需修改 sources.list.d/docker.list 中的 URL)。

4. 安装 Docker 引擎

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

这里安装了 docker-compose-plugin,现在 Docker Compose V2 已经作为插件集成在 Docker CLI 中,无需单独安装 docker-compose 二进制文件,体验更好。

三、 关键配置:免 sudo 运行 & 启动提速

默认情况下,执行 Docker 命令需要加 sudo,这很不方便。此外,国内拉取镜像速度是关键痛点。

1. 创建 docker 用户组并添加当前用户

sudo groupadd docker
sudo usermod -aG docker $USER

重要提示:执行完上述命令后,你需要重新登录 SSH 会话,或者执行 newgrp docker,否则当前终端不会生效。之后你可以直接运行 docker ps 而不需要 sudo。

2. 配置镜像提速器(针对国内环境)

腾讯云的 CVM 如果在内网,其实可以直接通过内网拉取镜像,速度飞快。但如果你是在公网环境,或者跨地域调用,配置提速器很有必要。

编辑 /etc/docker/daemon.json:

sudo nano /etc/docker/daemon.json

填入以下内容(以腾讯云容器镜像服务 CR 为例,其他厂商如阿里云、网易云同理):

{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com"
  ]
}

保存退出后,重启 Docker 服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

验证是否生效:

docker info | grep -i registry

看到 Registry Mirrors 列表中有你配置的地址,即表示成功。

四、 腾讯云特有注意事项:安全组与防火墙

很多新手在这里踩坑:Docker 容器启动正常,但外部无法访问端口。

这是因为 Docker 会绕过 iptables 的规则,但腾讯云的安全组(Security Group)是独立于操作系统防火墙之外的第一道防线。

  1. 检查安全组:登录腾讯云控制台,找到你的 CVM 实例,进入“安全组”标签页。确保入方向规则放行了你容器需要使用的端口(例如 80, 443, 8080 等)。协议选择 TCP,来源设为 0.0.0.0/0 或特定 IP。
  2. 检查 ufw/firewalld:如果你的 Ubuntu 开启了 ufw(Ubuntu 默认防火墙),也需要放行相应端口:
    sudo ufw allow 80/tcp
    sudo ufw reload

    建议在生产环境中,尽量依靠腾讯云安全组做边界防护,服务器内部保持最小化开放策略。

五、 验证安装

一切就绪后,运行一个简单的 Nginx 容器来测试:

docker run -d -p 8080:80 --name test-nginx nginx

然后访问 http://<你的CVM公网IP>:8080。如果看到 “Welcome to nginx!” 页面,说明整个链路——从 Docker 引擎、镜像拉取、到网络映射、再到腾讯云安全组——全部打通。

六、 进阶建议:持久化与监控

  1. 日志轮转:Docker 容器日志如果不加限制,可能会撑爆你的云硬盘。建议在 daemon.json 中配置日志驱动大小限制:
    {
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "10m",
        "max-file": "3"
      }
    }
  2. 使用腾讯云 COSFS 或 NAS:如果业务数据量大,不要将数据存储在容器本地文件系统里(容器删除数据就没了)。建议挂载腾讯云 NAS 或 COSFS 到容器内部,实现数据持久化和多容器共享。
  3. 监控:结合腾讯云云监控(CloudMonitor),对 CPU、内存、磁盘 IO 进行告警设置。Docker 本身不提供全面的集群监控,对于大规模部署,后续可考虑引入 Prometheus + Grafana 或腾讯云 TKE(托管 Kubernetes)来管理。

这套流程覆盖了从安装到网络配置的核心环节,既符合 Docker 官方规范,又适配了国内云计算环境的实际痛点。按照这个步骤走,基本不会翻车。

未经允许不得转载:CLOUD云枢 » 腾讯云CVM实例上Ubuntu系统配置Docker环境的方法是什么?