腾讯云Ubuntu服务器配置Docker环境的完整步骤是什么?

在腾讯云 Ubuntu 服务器(推荐使用 Ubuntu 22.04 LTS 或 20.04 LTS)上配置 Docker 环境的完整、安全、生产就绪步骤如下(含验证、非 root 运行、镜像提速等关键实践):


✅ 前置条件

  • 已登录腾讯云 Ubuntu 服务器(SSH,建议使用 ubuntu 用户或具有 sudo 权限的用户)
  • 系统已更新(确保内核和基础工具为最新)
  • 网络通畅(可访问公网,用于下载 Docker 和镜像)

🔧 步骤 1:系统更新与依赖安装

# 更新软件包索引并升级系统(推荐先执行)
sudo apt update && sudo apt upgrade -y

# 安装必要依赖(用于通过 HTTPS 添加仓库)
sudo apt install -y 
    ca-certificates 
    curl 
    gnupg 
    lsb-release 
    software-properties-common 
    apt-transport-https

💡 提示:Ubuntu 22.04+ 默认已预装部分工具,但显式安装可确保兼容性。


🐳 步骤 2:添加 Docker 官方 GPG 密钥和 APT 仓库

# 创建 docker 目录(若不存在)
sudo mkdir -p /etc/apt/keyrings

# 下载并添加 Docker 官方 GPG 密钥(安全可靠)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 添加稳定版 Docker APT 仓库(自动适配 Ubuntu 版本)
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

✅ 验证:ls /etc/apt/keyrings/docker.gpg 应存在;cat /etc/apt/sources.list.d/docker.list 应显示正确仓库地址。


📦 步骤 3:安装 Docker Engine(社区版 CE)

# 刷新包索引(必须!)
sudo apt update

# 安装 Docker 引擎、CLI、containerd 及相关依赖
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 验证安装(不报错即成功)
docker --version          # 如:Docker version 24.0.7, build afdd53b
docker-compose --version  # 如:Docker Compose version v2.23.0

⚠️ 注意:避免使用 apt install docker.io(Ubuntu 官方源版本老旧且非官方维护,不推荐生产环境)。


▶️ 步骤 4:启动并启用 Docker 服务

# 启动 Docker 守护进程
sudo systemctl start docker

# 设置开机自启
sudo systemctl enable docker

# 检查状态(应显示 active (running))
sudo systemctl status docker --no-pager -l

👤 步骤 5:配置非 root 用户免 sudo 运行 Docker(安全增强)

❗重要:默认 docker 命令需 sudo,但将用户加入 docker 组后可免密码执行(仅限可信用户)。

# 创建 docker 组(如不存在)
sudo groupadd docker 2>/dev/null || true

# 将当前用户(如 ubuntu)加入 docker 组
sudo usermod -aG docker $USER

# 生效组权限(立即生效,无需重启,但需重新登录或刷新会话)
newgrp docker  # 或直接关闭 SSH 重连

✅ 验证(新会话中执行):

docker run --rm hello-world
# 输出 "Hello from Docker!" 即成功

🔒 安全提醒:docker 组等价于 root 权限,切勿将不可信用户加入该组。生产环境建议用 rootless Docker(进阶可选)。


🌐 步骤 6:配置国内镜像提速(强烈推荐,解决拉取慢/超时问题)

腾讯云用户推荐使用 腾讯云容器镜像服务(TCR)镜像提速器阿里云/中科大镜像站

✅ 推荐方案:使用腾讯云 TCR 免费镜像提速(需注册腾讯云账号)

  1. 登录 腾讯云容器镜像服务控制台
  2. 进入「实例管理」→ 创建「公共实例」(免费,地域选与 CVM 同区,如 ap-guangzhou
  3. 进入实例 → 「概览」页 → 复制 镜像提速地址(形如 https://xxxxxx.mirror.tencentyun.com

配置提速器:

# 创建 daemon.json(若不存在)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://xxxxxx.mirror.tencentyun.com",  // ← 替换为你自己的提速地址
    "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

# 重启 Docker 生效
sudo systemctl daemon-reload
sudo systemctl restart docker

✅ 验证提速生效:

docker info | grep "Registry Mirrors" -A 5
# 应显示你配置的镜像地址

🧪 步骤 7:基础功能验证(必做!)

# 1. 运行测试容器
docker run -d -p 8080:80 --name nginx-test nginx:alpine
curl -s http://localhost:8080 | head -10  # 应返回 HTML 片段

# 2. 查看运行中的容器
docker ps

# 3. 清理测试资源
docker stop nginx-test && docker rm nginx-test
docker rmi nginx:alpine

🛡️ (可选)安全加固建议(生产环境)

项目 建议
防火墙 开放必要端口(如 22、80/443),禁止暴露 2375/2376(Docker API)到公网
Docker API 访问 如需远程管理,务必启用 TLS 认证或通过 SSH 隧道X_X
定期更新 sudo apt update && sudo apt upgrade docker-ce*
日志轮转 上述 daemon.json 已配置 json-file 日志大小限制
资源限制 docker run 中使用 --memory, --cpus 防止容器耗尽宿主机资源

📚 附:常用命令速查

# 查看 Docker 状态
sudo systemctl status docker

# 查看磁盘占用(清理无用资源)
docker system df
docker system prune -a --volumes  # 谨慎!删除所有未使用对象

# 查看容器日志(实时)
docker logs -f <container_name>

# 进入容器(调试用)
docker exec -it <container_name> /bin/sh

至此,你的腾讯云 Ubuntu 服务器已具备完整、高效、安全的 Docker 运行环境!
下一步可部署 Nginx、MySQL、WordPress 或基于 Docker Compose 的多容器应用。

需要我为你生成:

  • docker-compose.yml 示例(如 LNMP 环境)
  • ✅ Rootless Docker 配置指南(更安全)
  • ✅ 使用 TCR 私有镜像仓库的完整流程
  • ✅ 自动化一键脚本(.sh 可复制执行)

欢迎随时告诉我 👇