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

下面是一份在腾讯云 CVM(云服务器)上安装 Docker 并运行容器的完整实操指南,以 Ubuntu 20.04/22.04 为例(CentOS 8/9 或 Debian 也可按类似步骤调整)。


一、登录 CVM 实例

  1. 登录腾讯云控制台 → 云服务器 CVM。
  2. 找到目标实例,点击“远程连接”:
    • 推荐使用 SSH 方式(Linux 默认支持)。
    • 或使用云控制台的 VNC / 终端窗口(适合调试网络问题)。
  3. 使用 root 或普通用户 + sudo 登录。
ssh root@<CVM公网IP>
# 或使用密钥登录
ssh -i ~/.ssh/tencent_cvm.pem root@<CVM公网IP>

二、更新系统软件包

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

# CentOS / Rocky / Alma
yum makecache
yum update -y

三、安装 Docker(推荐官方仓库方式)

1. 安装依赖

# Ubuntu / Debian
apt install -y ca-certificates curl gnupg lsb-release

# CentOS / Rocky / Alma
yum install -y yum-utils

2. 添加 Docker 官方 GPG 密钥与仓库

Ubuntu / Debian

# 创建目录
mkdir -p /etc/apt/keyrings

# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | 
  gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 设置权限
chmod a+r /etc/apt/keyrings/docker.gpg

# 添加 Docker 仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] 
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | 
  tee /etc/apt/sources.list.d/docker.list > /dev/null

CentOS / Rocky / Alma

# 添加 Docker 官方 YUM 仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3. 安装 Docker Engine、CLI 和容器运行时

# Ubuntu / Debian
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# CentOS / Rocky / Alma
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4. 启动并设置开机自启

systemctl enable --now docker
systemctl status docker

验证版本:

docker --version
docker run hello-world

如果看到 Hello from Docker!,说明安装成功。


四、配置 Docker 提速(可选但推荐)

国内访问 Docker Hub 较慢,可配置镜像提速器(需先注册阿里云/腾讯云镜像提速等)。

1. 获取镜像提速地址

以阿里云为例:

  • 登录阿里云容器镜像服务 → 个人空间 → 镜像提速器
  • 复制你的专属提速地址,例如:https://xxxx.mirror.aliyuncs.com

2. 修改 Docker 配置文件

编辑 /etc/docker/daemon.json

vi /etc/docker/daemon.json

内容示例(注意 JSON 格式,不要有多余逗号):

{
  "registry-mirrors": [
    "https://xxxx.mirror.aliyuncs.com"
  ]
}

然后重启 Docker:

systemctl daemon-reload
systemctl restart docker

若已有其他配置项,请保留原有内容,只增加 registry-mirrors 字段。


五、非 root 用户运行 Docker(可选)

为避免每次都要 sudo docker,可将当前用户加入 docker 组:

usermod -aG docker $USER
newgrp docker   # 或直接重新登录

验证:

docker ps

六、从镜像拉取并运行容器

1. 拉取镜像

# 拉取 Nginx 官方镜像
docker pull nginx:latest

# 查看本地镜像
docker images

2. 运行容器

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

说明:

  • -d:后台运行
  • --name:指定容器名称
  • -p 主机端口:容器端口:映射端口
  • nginx:latest:镜像名及标签

3. 查看容器状态

docker ps
docker logs my-nginx

4. 测试访问

在浏览器中访问:

http://<CVM公网IP>

应看到 Nginx 欢迎页。


七、常用 Docker 命令速查

# 查看正在运行的容器
docker ps

# 查看所有容器(包括已停止)
docker ps -a

# 查看日志
docker logs <容器ID或名称>

# 进入容器内部
docker exec -it <容器ID或名称> bash

# 停止容器
docker stop <容器ID或名称>

# 启动容器
docker start <容器ID或名称>

# 删除容器
docker rm <容器ID或名称>

# 删除镜像
docker rmi <镜像ID或名称>

# 查看资源占用
docker stats

# 清理未使用的镜像/容器/卷
docker system prune -a

八、安全与网络注意事项(腾讯云环境)

1. 安全组规则

在腾讯云控制台 → 安全组中,确保开放对应端口:

  • 例如运行 Nginx:放行 TCP 80(以及 443 如果需要 HTTPS)。
  • 避免将 Docker API 端口(2375)直接暴露到公网。

2. 防火墙(如启用 ufw / firewalld)

# Ubuntu 示例:允许 80 端口
ufw allow 80/tcp
ufw reload

3. 生产环境建议

  • 不要使用 latest 标签,而是指定具体版本(如 nginx:1.25)。
  • 对敏感数据使用环境变量或挂载 Secret,而不是硬编码在镜像中。
  • 定期更新基础镜像和容器。
  • 限制容器资源(CPU、内存):--cpus, --memory 等。

示例:

docker run -d 
  --name my-app 
  --cpus="1" 
  --memory="512m" 
  -p 8080:80 
  your-image:tag

九、简单实战示例:部署一个 Web 应用

假设你有一个简单的 Node.js 应用,构建为镜像 myapp:1.0

# 构建镜像(在应用目录下)
docker build -t myapp:1.0 .

# 运行容器
docker run -d 
  --name myapp 
  -p 3000:3000 
  myapp:1.0

然后在浏览器访问:

http://<CVM公网IP>:3000

如果你提供具体的操作系统版本(如 CentOS 7/8/9、Ubuntu 20.04/22.04)以及要运行的应用场景(如 WordPress、Nginx、Java 应用、数据库等),我可以给出更针对性的命令和配置示例。