下面是一份在腾讯云 CVM(云服务器)上安装 Docker 并运行容器的完整实操指南,以 Ubuntu 20.04/22.04 为例(CentOS 8/9 或 Debian 也可按类似步骤调整)。
一、登录 CVM 实例
- 登录腾讯云控制台 → 云服务器 CVM。
- 找到目标实例,点击“远程连接”:
- 推荐使用 SSH 方式(Linux 默认支持)。
- 或使用云控制台的 VNC / 终端窗口(适合调试网络问题)。
- 使用 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 应用、数据库等),我可以给出更针对性的命令和配置示例。
云知识