在腾讯云的 Ubuntu 实例中安装 Docker,核心逻辑与在标准 Ubuntu 系统中一致,主要依赖的是 Linux 内核特性(如 cgroups, namespaces)以及标准的软件包管理器工具。
需要明确的是:Docker 本身并不强制要求额外的“特殊”依赖,它依赖于 Ubuntu 系统自带的底层组件。但在实际操作中,为了确保安装顺利、版本兼容以及后续运行稳定,我们需要配置以下几类关键依赖和环境:
一、基础系统依赖(必须配置)
这些是 Docker 引擎正常运行所必需的系统级支持:
-
Linux 内核支持
- Docker 要求 Ubuntu 内核版本不低于 4.4(推荐 5.x+)。
- 腾讯云 Ubuntu 镜像默认内核通常满足要求,但建议升级至最新 LTS 内核以获取更好的性能和安全性。
- 验证命令:
uname -r
-
软件包管理器 apt
- 用于从官方仓库下载和安装 Docker CE。
- 确保
apt已更新:sudo apt update
-
HTTPS 传输支持
- Docker 官方仓库通过 HTTPS 提供软件包,因此需要安装以下证书和传输库:
sudo apt install -y ca-certificates curl gnupg lsb-release
- Docker 官方仓库通过 HTTPS 提供软件包,因此需要安装以下证书和传输库:
-
存储驱动依赖(可选但推荐)
- Docker 默认使用
overlay2存储驱动,这是现代 Linux 内核原生支持的,无需额外安装模块。 - 如果使用 ZFS 或 Btrfs 等特殊文件系统,则需安装对应内核模块,但腾讯云 Ubuntu 实例一般使用 ext4/xfs,故无需特殊处理。
- Docker 默认使用
二、网络与安全组依赖(腾讯云特有关键点)
虽然这不是“软件依赖”,但在腾讯云环境中,网络策略配置失败常被误认为是依赖缺失。务必注意:
-
安全组规则:
- 若需远程访问 Docker 管理的容器服务(如 Web 应用),需在腾讯云控制台 → 安全组中开放相应端口(如 80, 443, 8080 等)。
- 不要直接暴露 Docker API 端口(2375/2376),除非你明确知道安全风险并做了认证配置。
-
防火墙(ufw/firewalld):
- 腾讯云实例默认可能启用
ufw。如果开启,需手动放行 Docker 相关端口:sudo ufw allow in on docker0 sudo ufw reload
- 腾讯云实例默认可能启用
三、推荐安装方式及完整依赖链(官方 APT 源法)
这是最稳定、最符合 Debian/Ubuntu 生态的安装方式,避免使用过时的 .deb 包或 PPA。
步骤 1:卸载旧版本(如有)
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do
sudo apt remove $pkg
done
步骤 2:设置 Docker 官方 GPG 密钥和 APT 源
# 创建 keyring 目录
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
# 设置权限
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 添加 Docker APT 仓库(根据 Ubuntu 版本自动识别 codename)
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
✅ 此步骤依赖:
curl,gpg,lsb-release(已在第一步安装)
步骤 3:安装 Docker 引擎
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
✅ 此步骤自动解决所有运行时依赖,包括
containerd(容器运行时)、docker-compose-v2(编排工具)等。
四、常见坑与注意事项(腾讯云环境特例)
-
非 root 用户权限问题
- Docker 守护进程监听 Unix socket
/var/run/docker.sock,默认属主为root。 - 建议将当前用户加入
docker组:sudo usermod -aG docker $USER newgrp docker
- Docker 守护进程监听 Unix socket
-
Swap 分区影响
- Docker 在较新版本中要求禁用 swap 或确保内核参数允许。腾讯云 Ubuntu 镜像默认可能未启用 swap,可通过
swapon --show检查。 - 若启用 swap,需修改
/etc/default/grub中添加swapaccount=1并更新 grub,或在启动时传递内核参数systemd.swap=false(不推荐生产环境完全禁用 swap)。
- Docker 在较新版本中要求禁用 swap 或确保内核参数允许。腾讯云 Ubuntu 镜像默认可能未启用 swap,可通过
-
内核模块加载
- 某些情况下,
overlay模块未自动加载。可手动加载:sudo modprobe overlay
- 某些情况下,
-
云监控插件(可选)
- 腾讯云主机监控插件(QcloudMonitorAgent)不影响 Docker 运行,但建议安装以便监控 CPU/内存/磁盘 IO,便于排查容器资源争用问题。
五、验证安装
# 检查 Docker 版本
docker --version
# 测试 Hello World 容器
docker run hello-world
# 查看 Docker 信息(确认存储驱动、内核版本等)
docker info
输出中包含 Storage Driver: overlay2 且无报错,即表示依赖配置成功。
总结
在腾讯云 Ubuntu 实例中安装 Docker,无需安装任何第三方专有依赖,只需确保:
- 系统内核 ≥ 4.4;
- 安装了
ca-certificates,curl,gnupg,lsb-release; - 正确配置了 Docker 官方 APT 源;
- 腾讯云安全组放行了业务所需端口;
- (可选)将用户加入
docker组以避免每次使用sudo。
整个过程遵循标准 Debian/Ubuntu 规范,与是否使用腾讯云无关,区别仅在于网络策略和内核版本管理上需注意云平台特性。
云技术博客