在腾讯云创建实例时,使用 Ubuntu 22.04 LTS 自定义镜像其实是一个比较基础但容易踩坑的操作。核心逻辑很简单:先有镜像,再选镜像。你不能直接在“选择镜像”的步骤里凭空变出一个自定义镜像,除非你之前已经上传或制作好了它。
下面我把整个流程拆解成几个关键步骤,顺便把那些容易让人懵圈的细节点出来。
第一步:确认你的自定义镜像已经存在
这是最容易被忽略的前提。很多新手直接去创建实例页面,发现下拉列表里没有自己做的镜像。这是因为自定义镜像默认是私有镜像,且通常绑定在特定的地域(Region)。
- 登录控制台:进入腾讯云控制台。
- 找到镜像服务:左侧导航栏找到
计算->镜像->自定义镜像。 - 核对地域:确保你当前查看的地域(比如上海、广州、北京)和你即将创建实例的地域一致。如果你在北京做的镜像,跑去上海创建实例,是找不到这个镜像的。
- 检查状态:确保镜像状态是
可用。如果显示创建中或失败,那肯定不能用。
第二步:创建实例并选择镜像
当你确认镜像就绪后,就可以开始创建实例了:
- 进入购买页:点击
云服务器 CVM->新建。 - 配置基础信息:
- 地域/可用区:必须和自定义镜像所在的地域一致。
- 计费模式:按需或包年包月随意。
- 实例规格:根据你的业务需求选 CPU/内存。
- 操作系统(关键步骤):
- 在“镜像类型”或“操作系统”选项卡下,你会看到几个标签页:
公共镜像、共享镜像、自定义镜像。 - 重点来了:请点击
自定义镜像标签页。 - 在下拉列表中找到你之前准备好的那个 Ubuntu 22.04 LTS 自定义镜像,选中它。
- 注意:如果你没看到它,请回到第一步检查地域是否匹配。
- 在“镜像类型”或“操作系统”选项卡下,你会看到几个标签页:
第三步:关于 Ubuntu 22.04 的特殊注意事项
既然你指定了 Ubuntu 22.04 LTS,这里有几个技术细节需要额外注意,否则实例创建后可能会遇到网络不通、SSH 连不上或者系统更新报错的问题。
1. 内核与云驱动兼容性
Ubuntu 22.04 默认的 Linux 内核版本较高(通常是 5.15+)。腾讯云的标准镜像都预装了 cloud-init 和必要的云驱动。
- 如果你的自定义镜像是基于官方 Ubuntu 22.04 制作的:确保你在制作镜像时,没有手动卸载
cloud-init。因为cloud-init负责处理主机名、SSH 密钥注入和网络配置。如果删了,你创建实例后可能无法通过控制台设置密码或密钥,导致进不去系统。 - 如果镜像是其他发行版改的:务必安装好
linux-cloud-tools相关的包,否则网卡可能识别不出来。
2. SSH 登录问题
Ubuntu 22.04 出于安全考虑,默认禁用 root 用户直接密码登录。
- 推荐做法:在创建实例时,选择“密钥对”方式登录。你需要提前生成一个 SSH 密钥对(
.pem文件),并在创建实例时绑定该密钥。 - 如果非要用密码:需要在自定义镜像内部修改
/etc/ssh/sshd_config,将PermitRootLogin改为yes,并将PasswordAuthentication设为yes,然后重启 sshd 服务后再制作镜像。否则你可能只能靠 VNC 控制台进去改配置,非常麻烦。
3. 软件源提速
Ubuntu 22.04 默认的软件源在海外,国内访问慢。建议在制作自定义镜像时,就把 /etc/apt/sources.list 替换为国内镜像源(如阿里云、腾讯云或清华源),并执行 apt update。这样实例创建后,首次运行 apt install 会快很多。
第四步:常见问题排查
Q: 我选了自定义镜像,但创建实例时报错“镜像不存在”或“不可用”?
A: 90% 的情况是地域不对。请再次确认:
- 镜像所在地域 vs 实例所在地域。
- 镜像所属账号 vs 当前登录账号(如果是共享镜像,需确认共享关系是否有效)。
Q: 创建成功后,VNC 能进系统,但 ping 不通网络?
A: 这通常是云驱动或网络配置问题。
- 检查是否安装了
netplan的正确配置(Ubuntu 18.04+ 默认用 netplan)。 - 检查
cloud-init是否成功运行。可以查看日志:cat /var/log/cloud-init.log。 - 尝试在控制台重启实例,有时 cloud-init 会在第一次启动时初始化网络,重启后生效。
Q: 我想基于 Ubuntu 22.04 快速制作一个标准化镜像,有什么工具推荐?
A: 推荐使用 Terraform + Packer 自动化构建,或者直接用腾讯云的“镜像市场”功能。如果只是手工操作,建议在裸机或虚拟机上装好 Ubuntu 22.04,配置好环境、清理掉历史日志(journalctl --vacuum-time=1s)、重置 MAC 地址(rm -f /etc/machine-id 并重新生成),最后关机,再通过控制台“创建自定义镜像”。
总结
使用 Ubuntu 22.04 自定义镜像的核心就三句话:
- 先在正确地域做好镜像,确保状态可用。
- 创建实例时,手动切换到“自定义镜像”标签页选择它。
- 注意 cloud-init 和 SSH 配置,避免创建后失联。
只要这三步走稳,基本不会出大问题。如果有具体的报错代码,可以再贴出来,帮你进一步定位。
云技术博客