腾讯云CVM如何安装和运行Docker?

在腾讯云 CVM(云服务器)上运行 Docker,核心逻辑与在普通 Linux 服务器上安装一致,但需要结合云服务器的安全组策略和镜像提速服务来确保效率。以下是基于主流发行版(以 Ubuntu 20.04/22.04 和 CentOS 7/8 为例)的标准操作流程。

1. 前置准备:系统更新与安全组配置

在开始安装前,建议先对系统进行基础更新,并确认网络连通性。

系统更新:

# Ubuntu/Debian
sudo apt-get update && sudo apt-get upgrade -y

# CentOS/RHEL
sudo yum update -y

安全组配置(关键步骤):
Docker 默认监听 2375 (TCP) 端口,但通常我们不需要直接暴露该端口给公网。更重要的是,如果你计划通过容器对外提供服务(如 Web 服务),必须在腾讯云控制台为实例的安全组放行对应的业务端口(如 80, 443, 8080 等)。

  • 注意:不要将 Docker Daemon 的管理端口(2375)对公网开放,这存在严重的安全风险。仅允许内网访问或 localhost 访问。

2. 安装 Docker Engine

国内环境建议使用阿里云、腾讯云官方提供的源或国内镜像提速器,以避免拉取镜像时的超时问题。

方案 A:使用官方脚本安装(推荐,跨版本通用)

这是最快捷的方式,适用于大多数场景。

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

注:--mirror Aliyun 参数表示使用阿里云镜像源提速安装过程,国内用户体验更佳。若无需指定源,可省略该参数。

安装完成后,启动并设置开机自启:

sudo systemctl start docker
sudo systemctl enable docker

方案 B:手动安装(针对特定版本需求)

如果需要使用特定版本的 Docker,需先添加 Docker 官方 GPG 密钥和仓库。

Ubuntu 示例:

# 安装依赖
sudo apt-get install ca-certificates curl gnupg lsb-release -y

# 添加 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://mirrors.aliyun.com/docker-ce/linux/ubuntu 
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

CentOS 示例:

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io -y

3. 配置国内镜像提速器(提升下载速度)

由于 Docker Hub 官方镜像在国内访问不稳定,强烈建议在 CVM 上配置国内厂商提供的镜像提速器。

编辑 /etc/docker/daemon.json 文件:

sudo vim /etc/docker/daemon.json

加入以下内容(以腾讯云为例,具体地址需根据最新文档调整,以下为通用格式):

{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://docker.1panel.pro"
  ]
}

注意:上述地址仅为示例,部分高校或第三方镜像站可能不稳定。生产环境建议优先使用腾讯云内部提供的专属提速地址,或在容器注册表(Tencent Cloud Container Registry, TCR)中构建私有镜像后拉取。

修改配置后,重启 Docker 服务使配置生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

验证是否配置成功:

docker info | grep -A 10 "Registry Mirrors"

4. 免密码执行 Docker 命令

为了避免每次执行 docker 命令都输入 sudo,可以将当前用户加入 docker 用户组:

sudo usermod -aG docker $USER

重要提示:此操作后,你需要重新登录终端会话或执行 newgrp docker 才能生效。

5. 运行第一个容器

现在可以测试环境是否就绪。拉取一个轻量级镜像(如 Nginx)并运行:

docker run -d -p 80:80 --name my-web nginx

此时,你的 CVM 实例本地已启动了一个 Nginx 服务。如果之前已在安全组放行了 80 端口,即可通过浏览器访问 http://<CVM 公网 IP> 查看默认的欢迎页。

6. 运维与优化建议

  • 日志管理:Docker 容器日志会占用磁盘空间。建议在 /etc/docker/daemon.json 中配置日志轮转策略,防止磁盘写满导致实例异常。
    {
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "10m",
        "max-file": "3"
      }
    }
  • 资源限制:在生产环境中,务必为容器设置 CPU 和内存限制,防止单个容器耗尽 CVM 资源。
    docker run -d --memory="512m" --cpus="0.5" ...
  • 数据持久化:容器内的数据是临时的。对于数据库等需要持久化的应用,务必使用 -v 挂载宿主机目录或使用 Docker Volume,确保数据不随容器销毁而丢失。

通过以上步骤,你便可以在腾讯云 CVM 上搭建起标准的 Docker 运行环境。后续如需部署复杂应用,可结合 Docker Compose 进行编排管理。

未经允许不得转载:CLOUD云枢 » 腾讯云CVM如何安装和运行Docker?