Python学习【178】:Doris 镜像离线部署与虚拟机扩容完整记录
在实际开发或测试环境中,我们经常需要在无网络或网络受限的 Linux 服务器上部署 Apache Doris。然而,直接使用 docker pull 拉取镜像可能受限于网络速度、镜像源稳定性或公司安全策略。此时,一个可行的方案是:在可以联网的 Windows 机器上使用 Docker Desktop 拉取镜像,然后将镜像打包成 tar 文件,通过 VirtualBox 共享文件夹传输到 Ubuntu 虚拟机中。此外,由于虚拟机磁盘空间不足,还需进行扩容操作。本文记录了从镜像拉取、打包传输、虚拟机扩容到最终成功加载 Doris 镜像的完整过程,并解释了 FE 与 BE 镜像的区别与价值,为后续容器化部署提供参考。在 Windows 11 上安装 Docker Desktop,配置阿里云等国内镜像加速器。成功拉取 apache/doris:doris-fe-2.1.7 和 apache/ doris: doris-be-2.1.7 两个镜像。使用 docker save -o doris-fe-2.1.7.tar apache/doris:doris-fe-2.1.7 将镜像导出为 tar 文件。通过 VirtualBox 的“共享文件夹”功能(挂载点为 /media/sfvmshare),将 tar 文件从 Windows 复制到 Ubuntu 虚拟机中。虚拟机根分区(/dev/sda3)原只有 25GB,因加载镜像和后续运行需要更多空间。在 VirtualBox 中将虚拟硬盘从 25GB 扩容至 60GB(使用命令 VBoxManage modifyhd)。在 Ubuntu 内部使用 fdisk 删除原分区并重建(起始扇区不变),再用 resize2fs 扩展文件系统,最终根分区成功扩展至 59GB,可用空间从不足 1GB 提升至 35GB+。通过 docker load -i doris-fe-2.1.7.tar 和 docker load -i doris-be-2.1.7.tar 将镜像导入本地 Docker。验证镜像存在:docker images | grep doris 显示两个镜像各约 3.3GB 和 7.6GB(实际占用)。至此,您已经成功在 Ubuntu 虚拟机中拥有了可用的 Doris FE 和 BE 镜像,为后续部署打下了基础。虽然容器启动因网络模式、环境变量、启动脚本等问题暂未成功,但镜像准备环节圆满结束。
简单理解:FE 是领导(不干重活,只做决策和协调),BE 是工人(干实际的存储和计算活儿)。两个必须配合才能完成数据写入和查询。在 Docker 环境中,您需要分别启动 FE 和 BE 容器,并在 FE 中注册 BE 的地址,才能形成一个可用的集群。- 掌握了 Docker 镜像离线迁移的核心技能:学会了 docker save / docker load 的使用,以及通过 VirtualBox 共享文件夹进行跨平台文件传输。这在无网络或安全隔离的生产环境中非常实用。
- 实践了虚拟机磁盘扩容的完整流程:从 VirtualBox 命令行扩容到 Linux 内部使用 fdisk 和 resize2fs 扩展文件系统,解决了测试环境磁盘不足的常见问题。
让我们保持学习的热情,2026年一马当先、马到成功!