腾讯云CVM实例安装Docker并运行容器的详细指南?

在腾讯云 CVM(云服务器)上部署 Docker 是构建现代应用架构的常规操作。以下基于主流 Linux 发行版(以 Ubuntu 20.04/22.04 和 CentOS 7/8 为例)提供一套稳定、规范的实操指南。

一、前置准备:网络与安全组配置

在操作系统层面安装之前,必须确保云平台的网络策略已放行。Docker 容器若需对外提供服务,必须在腾讯云控制台完成以下配置:

  1. 安全组规则:登录腾讯云控制台,找到你的 CVM 实例,进入“安全组”设置。
    • 添加入方向规则:允许 TCP 协议,端口范围填写你业务所需的端口(如 80, 443, 8080 等)。
    • 注意:不要直接开放 0.0.0.0/0 的所有端口,应遵循最小权限原则,仅开放必要端口。
  2. 公网 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 密钥是最稳妥的方式。

  1. 添加 Docker 官方 GPG 密钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  2. 配置软件源

    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
  3. 安装 Docker 引擎及相关组件

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

方案 B:CentOS/RHEL 系统

  1. 添加 Docker 官方 YUM 源

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  2. 安装 Docker 引擎

    sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

四、启动服务与权限配置

安装完成后,需启动服务并配置开机自启。

  1. 启动 Docker 服务

    sudo systemctl start docker
    sudo systemctl enable docker
  2. 验证安装
    运行 Hello World 镜像测试环境是否正常:

    sudo docker run hello-world

    若看到欢迎信息,说明安装成功。

  3. 免 sudo 运行(可选)
    为避免每次执行 docker 命令都加 sudo,可将当前用户加入 docker 用户组:

    sudo usermod -aG docker $USER
    # 注意:修改组后需要重新登录 shell 才能生效
    newgrp docker

五、运行第一个容器示例

这里以运行一个 Nginx Web 服务器为例,演示端口映射和数据持久化。

  1. 拉取并运行镜像

    # -p 80:80 表示将宿主机的 80 端口映射到容器的 80 端口
    # -d 表示后台运行
    # --name 指定容器名称
    # -v 挂载宿主机目录到容器内(可选,用于数据持久化)
    sudo docker run -d -p 80:80 --name my-web-server nginx
  2. 查看容器状态

    sudo docker ps

    此时应能看到 my-web-server 正在运行。

  3. 访问测试
    在浏览器中输入 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 内部防火墙(如 ufwfirewalld)。
  • 容器启动立即退出:使用 sudo docker logs <容器 ID> 查看具体报错信息,通常是应用配置错误或依赖缺失导致。
  • 资源限制:CVM 实例的 CPU 和内存是物理硬上限,Docker 容器默认可占用全部资源。生产环境中建议使用 --cpus--memory 参数限制容器资源,防止单点故障影响整机。

通过以上步骤,即可在腾讯云 CVM 上完成 Docker 环境的标准化部署。后续可根据业务需求编写 docker-compose.yml 文件来编排多容器应用。

未经允许不得转载:CLOUD云枢 » 腾讯云CVM实例安装Docker并运行容器的详细指南?