在腾讯云的 Ubuntu 实例上装 Docker,说实话,现在已经是“丝滑”级别的操作了。但如果你是从零开始,或者之前踩过坑,还是有一些细节需要注意的。别搞那些虚头巴脑的理论,直接上干货,分三步走:环境准备、安装步骤、避坑指南。
一、 提前准备:别急着敲命令
很多人第一步就错了,没检查系统版本就直接装,结果遇到依赖冲突或者内核不支持。
-
确认 Ubuntu 版本
Docker 对内核版本有要求(Linux Kernel 3.10+,最好是 4.4+)。腾讯云大多数镜像都是较新的 Ubuntu LTS 版本(如 20.04, 22.04),这点基本不用操心。- 执行
cat /etc/os-release或lsb_release -a看一眼。如果是太老的版本(比如 16.04 以前),建议直接换镜像重装,别折腾升级系统,浪费时间。
- 执行
-
网络权限:端口开放
这是国内云厂商最容易踩的坑。Docker 本身不占用特殊端口,但你跑的服务需要。- 安全组(Security Group):去腾讯云控制台,找到你的 CVM 实例,检查安全组规则。入方向必须放行你需要的端口(比如 80, 443, 8080 等)。如果安全组没开,你在容器里跑得欢,外面死活连不上,排查半天以为是 Docker 的问题,其实是防火墙拦着。
- SSH 连接:确保你能通过 SSH 连上去,或者使用腾讯云提供的 WebShell。
-
磁盘空间与存储驱动
- 剩余空间:Docker 镜像和容器会吃磁盘。确保
/var/lib/docker所在的分区有足够的空间。一般建议至少留 20G-50G 余量,否则拉个稍微大点的镜像(比如 Java 基础镜像)就满了。 - 存储驱动:Ubuntu 默认使用
overlay2,这是目前最推荐的驱动,性能好且稳定。除非你有极特殊的场景,否则别手动改这个。
- 剩余空间:Docker 镜像和容器会吃磁盘。确保
-
账号权限
- 不要用 root 用户日常操作 Docker(虽然能运行,但不安全)。
- 安装完后,记得把当前用户加入 docker 组:
sudo usermod -aG docker $USER,然后重新登录终端。这样以后就不用每次敲sudo docker ...了。
二、 标准安装流程(推荐方式)
别再去翻 GitHub 找那个一键脚本了,官方维护的仓库最靠谱,更新也及时。
1. 卸载旧版本(如果有)
如果你之前装过老版本的 docker 或 docker.io,先清理一下,避免冲突:
sudo apt-get remove docker docker-engine docker.io containerd runc
注意:这不会删除你的镜像、容器和数据卷,数据是安全的。
2. 设置 Docker 官方 APT 仓库
这一步是关键,让 apt 知道去哪里下载最新的 Docker CE(社区版)。
# 1. 更新 apt 包索引并安装依赖
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
# 2. 添加 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
# 3. 设置稳定版仓库
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
国内网络优化提示:
如果你发现上面下载 GPG 密钥或者更新 apt 时速度极慢甚至超时,说明直连 Docker Hub 源有问题。这时候可以换成阿里云或清华大学的镜像源替换上面的echo那行 URL。例如用阿里云:echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null这一步在国内云服务器上非常实用,能省大量时间。
3. 安装 Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
4. 验证安装
sudo docker run hello-world
如果看到 “Hello from Docker!” 以及一系列成功信息,说明安装完成。
三、 腾讯云特有注意事项 & 避坑指南
-
关于 IPv6
腾讯云部分新机型默认开启了 IPv6。如果你的网络配置没处理好,Docker 可能会因为找不到正确的网桥而启动失败,或者容器内无法联网。- 建议:如果你不熟悉 Docker 网络的高级配置,建议在腾讯云控制台暂时关闭实例的 IPv6 功能,或者在 Docker 守护进程配置文件
/etc/docker/daemon.json中明确指定 IP 版本。对于新手,关掉 IPv6 是最稳妥的省事办法。
- 建议:如果你不熟悉 Docker 网络的高级配置,建议在腾讯云控制台暂时关闭实例的 IPv6 功能,或者在 Docker 守护进程配置文件
-
Swap 分区警告
Docker 默认会在 Swap 开启时给出警告,甚至在某些新版本中禁止在 Swap 开启的情况下运行生产环境容器。- 操作:查看
free -h,如果有 Swap,建议禁用它以获得更好的性能稳定性:sudo swapoff -a # 同时编辑 /etc/fstab 注释掉 swap 行,防止重启后恢复
- 操作:查看
-
开机自启
安装完成后,Docker 服务通常会自动设为开机自启。你可以检查一下:systemctl is-enabled docker如果不是 enabled,执行
sudo systemctl enable docker。 -
镜像提速(重要!)
在国内拉取 Docker Hub 官方镜像,没有提速器简直是一种折磨。- 方法:登录腾讯云控制台,搜索“容器镜像服务 (CR)”,里面有一个“镜像提速器”页面。你会得到一个专属的提速地址(类似
xxxxx.mirror.aliyuncs.com这种格式,虽然是腾讯云提供的,但底层可能复用其他大厂资源)。 - 配置:将获取到的地址写入
/etc/docker/daemon.json:{ "registry-mirrors": ["https://你的专属提速地址"] } - 然后重启 Docker:
sudo systemctl restart docker。 - 注:即使你不买腾讯云 CR 的付费套餐,免费额度也足够个人开发者使用这个提速地址。
- 方法:登录腾讯云控制台,搜索“容器镜像服务 (CR)”,里面有一个“镜像提速器”页面。你会得到一个专属的提速地址(类似
总结
在腾讯云服务器上装 Docker,核心就三点:
- 安全组端口要开对,不然白忙活。
- 换国内镜像源,否则安装过程能让你怀疑人生。
- 配好镜像提速器,后续拉镜像才不卡脖子。
按照这个流程走,基本不会出现什么玄学问题。装完记得跑一下 hello-world,然后就可以开始部署你的业务了。
云技术博客