在腾讯云的 Ubuntu 服务器上安装 Docker,推荐采用官方推荐的 apt 方式(稳定、易维护),以下是完整步骤:
✅ 一、前置准备
-
确认系统版本
lsb_release -a # 或 cat /etc/os-release建议 Ubuntu 20.04/22.04 LTS(腾讯云镜像默认多为这些版本)。
-
更新软件包索引
sudo apt update -
安装依赖(如未安装)
sudo apt install -y ca-certificates curl gnupg lsb-release
✅ 二、添加 Docker 官方 GPG 密钥与仓库
# 创建密钥环目录并导入官方 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
# 设置权限(可选但推荐)
sudo 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" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
🔔 注意:
- 若你使用的是非标准源(如国内提速镜像),可替换
https://download.docker.com为阿里云/腾讯云镜像站地址(需自行验证合法性),但官方源更可靠。- 腾讯云环境通常网络通畅,无需特殊X_X。
✅ 三、安装 Docker Engine & CLI
# 再次更新索引
sudo apt update
# 安装 Docker Engine, CLI, Containerd
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 验证安装
docker --version
docker compose version
输出示例:
Docker version 24.0.7, build afdd53b
✅ 四、配置非 root 用户运行 Docker(推荐)
避免每次都用 sudo:
# 创建 docker 组
sudo groupadd docker
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
# 激活组成员身份(无需重启,重新登录即可生效)
newgrp docker
# 测试(应能无 sudo 运行)
docker run hello-world
⚠️ 若
newgrp docker提示错误,请退出终端后重新 SSH 登录。
✅ 五、(可选)优化:配置国内镜像提速(提升拉取速度)
编辑 /etc/docker/daemon.json:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://huecker.io",
"https://dockerhub.timeweb.cloud"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
# 重载配置并重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
🌐 替代方案:使用腾讯云容器服务 TKE 的专属镜像提速(需绑定账户),或参考 阿里云提速器 获取个人专属地址。
✅ 六、验证与服务管理
# 查看状态
sudo systemctl status docker
# 开机自启(默认已启用)
sudo systemctl enable docker
# 启动/停止/重启
sudo systemctl start|stop|restart docker
❗ 常见问题排查
| 问题 | 解决方案 |
|---|---|
permission denied while trying to connect to the Docker daemon socket |
检查用户是否在 docker 组;执行 id $USER 确认 |
Cannot connect to the Docker daemon |
检查 systemctl status docker;尝试 sudo systemctl restart docker |
| 拉取镜像慢 | 配置镜像提速(见第五步);或临时用 docker pull <image> + 手动下载 tar 包上传 |
| 端口冲突(如 2375) | 检查 netstat -tlnp | grep 2375,修改 Docker 监听地址或关闭占用进程 |
需要我提供:
- 📦 一键安装脚本?
- 🔐 安全加固建议(防火墙、只读根文件系统)?
- 🐳 常用 Docker Compose 部署示例?
欢迎告诉我你的具体场景(如部署 Web 服务、数据库、CI/CD 等),我可进一步定制方案。
ECLOUD博客