在腾讯云 CVM(Ubuntu 系统)上配置 Docker 运行环境,可按照以下步骤操作:
✅ 前提条件
- 已登录腾讯云服务器(CVM),且为 Ubuntu 18.04/20.04/22.04 等主流版本
- 使用
root用户或具有sudo权限的普通用户 - 网络正常,能访问网络(用于下载 Docker 官方源)
📦 一、安装 Docker Engine(推荐方式:官方仓库)
⚠️ 避免直接使用 Ubuntu 自带源中的旧版 Docker,建议使用 Docker 官方提供的稳定版本。
1. 更新系统包索引
sudo apt update
sudo apt upgrade -y
2. 安装必要依赖
sudo apt install -y ca-certificates curl gnupg lsb-release
3. 添加 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
4. 设置 Docker 软件源
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
5. 安装 Docker Engine、CLI 和 Containerd
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6. 验证安装
# 检查 Docker 服务状态
sudo systemctl status docker
# 测试运行 Hello World 容器
sudo docker run hello-world
✅ 若看到欢迎信息,说明安装成功。
🔐 二、非 root 用户免 sudo 运行 Docker(可选但推荐)
为避免每次执行 docker 命令都需 sudo,将当前用户加入 docker 组:
sudo usermod -aG docker $USER
newgrp docker # 立即生效(无需重启)
💡 注意:修改组成员后,需重新登录终端或执行
newgrp docker使权限生效。
🌐 三、配置国内镜像提速(腾讯云 CVM 建议配置)
由于默认拉取 Docker Hub 镜像较慢,建议配置阿里云或腾讯云镜像提速器。
方案 A:使用阿里云镜像提速器(免费,需注册账号获取专属地址)
- 登录 阿里云容器镜像服务
- 创建个人命名空间 → 获取专属提速地址(如:
https://xxxx.mirror.aliyuncs.com) - 编辑
/etc/docker/daemon.json:sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<'EOF' { "registry-mirrors": [ "https://your-accelerator-address.mirror.aliyuncs.com" ] } EOF替换
your-accelerator-address为你实际的提速域名。
方案 B:使用腾讯云 TCR 镜像提速(适用于腾讯云用户)
- 登录 腾讯云容器镜像服务 TCR
- 开启“公网镜像提速”功能,获取提速地址(格式类似:
https://mirror.tcr.cloud.tencent.com) - 同样写入
/etc/docker/daemon.json
4. 重启 Docker 服务使配置生效
sudo systemctl daemon-reload
sudo systemctl restart docker
🧪 四、验证镜像提速是否生效
docker pull ubuntu:latest
观察拉取速度是否明显提升,或通过 docker info 查看 Registry Mirrors 是否显示正确。
🛡️ 五、安全与优化建议(生产环境推荐)
| 项目 | 建议 |
|---|---|
| 防火墙 | 仅开放必要端口(如 80/443),Docker 默认不暴露端口,除非手动 -p |
| 日志驱动 | 限制容器日志大小,避免磁盘占满:{"log-driver": "json-file", "log-opts": {"max-size": "10m", "max-file": "3"}} |
| 自动启动 | 对重要容器设置 --restart unless-stopped |
| 定期更新 | 每月执行 apt update && apt upgrade -y + 检查 Docker 新版本 |
❓ 常见问题排查
| 问题 | 解决方案 |
|---|---|
permission denied while trying to connect to the Docker daemon socket |
确认用户已在 docker 组,并执行 newgrp docker |
pull access denied, repository does not exist |
检查镜像名称是否正确;尝试 docker login 认证私有仓库 |
| 镜像拉取超时 | 检查网络连通性;更换镜像提速器;临时改用 docker pull --platform linux/amd64 指定架构 |
systemctl start docker 失败 |
检查日志:journalctl -u docker.service |
需要我提供一键脚本版本,或针对特定场景(如部署 K8s、微服务、CI/CD)进一步配置吗?
CLOUD技术笔记