在腾讯云 Ubuntu 系统(推荐 Ubuntu 22.04 LTS 或 20.04 LTS)上正确安装 Docker,强烈建议使用 Docker 官方仓库安装(而非 Ubuntu 默认的 docker.io 包),以获得最新稳定版、完整功能(如 docker compose v2)、及时安全更新和官方支持。
以下是 经过验证、安全、生产就绪的安装步骤(适用于腾讯云 CVM,已适配国内网络环境):
✅ 正确安装步骤(推荐:官方 APT 仓库 + 阿里云/清华镜像提速)
1️⃣ 卸载旧版本(如有)
sudo apt update
sudo apt remove -y docker docker.io containerd runc
# 清理残留配置(可选但推荐)
sudo rm -rf /var/lib/docker /var/lib/containerd
2️⃣ 安装必要依赖
sudo apt update
sudo apt install -y
ca-certificates
curl
gnupg
lsb-release
software-properties-common
3️⃣ 添加 Docker 官方 GPG 密钥(使用国内镜像源提速)
⚠️ 注意:腾讯云默认走内网 DNS,但
download.docker.com国外直连可能慢或不稳定。我们使用 阿里云镜像X_X 或 清华镜像源(更稳定):# 方案一(推荐):使用清华 TUNA 镜像源(HTTPS + 高可用) curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-ce-archive-keyring.gpg
方案二(备选):使用阿里云镜像源
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-ce-archive-keyring.gpg
#### 4️⃣ 添加 Docker APT 仓库(指定清华源)
```bash
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce-archive-keyring.gpg]
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
✅ 验证源是否写入成功:
cat /etc/apt/sources.list.d/docker.list
# 应显示类似:deb [arch=amd64 signed-by=...] https://mirrors.tuna.tsinghua.edu.cn/... jammy stable
5️⃣ 安装 Docker Engine(最新稳定版)
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
✅ 此命令会自动安装:
docker-ce: Docker 引擎docker-ce-cli:docker命令行工具containerd.io: 容器运行时(替代旧版runc)docker-buildx-plugin: 多平台构建支持docker-compose-plugin:docker compose(v2,原生集成,无需 pip install docker-compose)
6️⃣ 启动并启用开机自启
sudo systemctl enable docker
sudo systemctl start docker
7️⃣ 验证安装
# 检查服务状态
sudo systemctl status docker # 应为 active (running)
# 查看 Docker 版本(含 compose 插件)
docker --version # e.g., Docker version 24.0.7, build afdd53b
docker compose version # e.g., Docker Compose version v2.23.0
# 运行测试容器(需确保能访问公网)
sudo docker run --rm hello-world
# ✅ 输出 "Hello from Docker!" 即成功
8️⃣ (重要)将当前用户加入 docker 组(免 sudo)
sudo usermod -aG docker $USER
# 生效需重新登录或刷新组权限:
newgrp docker # 当前终端立即生效(无需登出)
✅ 验证(退出 sudo):
docker run --rm alpine echo "Docker works without sudo!"
🌐 可选:配置国内镜像提速(大幅提升拉取速度)
腾讯云用户强烈建议配置国内镜像源(避免 docker pull 超时):
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com", // ✅ 腾讯云官方镜像(CVM 内网免流量、超快!)
"https://mirrors.aliyun.com/docker-ce/", // 阿里云备用
"https://docker.mirrors.ustc.edu.cn" // 中科大备用
],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
🔍 验证镜像提速生效:
sudo docker info | grep "Registry Mirrors" -A 3
❌ 不推荐的方式(避坑提醒)
| 方法 | 问题 |
|---|---|
sudo apt install docker.io |
Ubuntu 自带版本老旧(如 20.04 是 20.10),缺 compose-plugin、buildx,无 LTS 支持 |
curl -sSL https://get.docker.com | sh |
未走国内镜像,易失败;且不兼容腾讯云内网优化 |
使用 pip install docker-compose |
已废弃(v1),与 docker compose(v2 插件)冲突 |
✅ 附加:腾讯云特别提示
- 若 CVM 开启了 安全组防火墙,Docker 默认不开放端口(仅本地 socket
/var/run/docker.sock),无需额外放行 2375/2376(除非你明确需要远程 API,不推荐)。 - 如需部署容器化应用(如 Nginx、MySQL),请确保安全组放行对应端口(如 80、443、3306)。
- 日志路径:
/var/lib/docker/containers/<id>/<id>-json.log,可通过docker logs查看。
✅ 完成!你现在拥有:
- 最新稳定版 Docker(CE)
- 原生
docker compose(v2) - 内网提速的腾讯云镜像源
- 免
sudo的普通用户权限 - 安全的日志与存储配置
如需进一步部署:
➡️ Docker 官方文档(中文)
➡️ 腾讯云容器服务 TKE 快速入门
需要我帮你一键脚本化安装、或部署 Nginx/MySQL 示例容器?欢迎继续提问! 🐳
云小栈