LiuJuan模型Docker容器化部署详解:利用VMware虚拟机搭建测试环境

张开发
2026/6/10 4:33:24 15 分钟阅读
LiuJuan模型Docker容器化部署详解:利用VMware虚拟机搭建测试环境
LiuJuan模型Docker容器化部署详解利用VMware虚拟机搭建测试环境想在自己的电脑上测试最新的AI模型但又担心搞乱本地环境或者公司项目需要一个干净、隔离的测试环境来验证模型效果今天我们就来聊聊一个非常实用的方案在VMware虚拟机里通过Docker容器来部署LiuJuan国风模型。这个方法的好处很明显。虚拟机提供了一个完全独立的沙盒你在里面怎么折腾都不会影响到你电脑上其他正在运行的程序。而Docker容器则把模型运行所需的所有依赖都打包好了让你免去了繁琐的环境配置过程。两者结合堪称是搭建测试环境的“黄金搭档”。接下来我会带你一步步走完整个流程从创建虚拟机、安装Linux系统到配置Docker、拉取镜像最后成功运行模型。整个过程就像搭积木一样清晰即使你对Linux或Docker不太熟悉跟着做也能顺利完成。1. 为什么选择VMware Docker在开始动手之前我们先花几分钟聊聊为什么推荐这个组合。理解背后的思路能让你在遇到问题时更有头绪。首先VMware虚拟机为你创造了一个隔离的“第二台电脑”。你可以在这台虚拟电脑里安装任何操作系统进行各种测试而不用担心影响你真实的Windows或macOS系统。这对于测试软件、部署服务来说安全性极高。万一配置过程中出了什么差错最坏的情况也就是删掉这个虚拟机重来你的主力系统毫发无损。其次Docker容器解决了应用“依赖地狱”的问题。一个AI模型要跑起来可能需要特定版本的Python、一堆复杂的库、还有各种系统工具。手动安装这些步骤多且容易出错。Docker镜像把这些东西全部打包好了你只需要一条命令就能拉取并运行一个包含完整环境的“包裹”。部署的一致性得到了保证今天在A机器上能跑明天在B机器上也一样能跑。最后VMware Docker的组合把隔离性和便捷性都做到了极致。你可以在虚拟机里跑多个Docker容器分别测试不同的模型或版本彼此之间互不干扰。对于企业开发者来说这尤其适合用来构建标准的开发测试环境或者进行持续集成CI的自动化测试。好了理论部分就到这里。下面我们进入实战环节请确保你的电脑已经安装了VMware Workstation Player免费版或Pro版并准备好一个Linux系统镜像比如Ubuntu 22.04 LTS。2. 第一步创建并配置你的VMware虚拟机这一步是我们的基础相当于准备一台全新的“电脑”。我们选择Ubuntu因为它对Docker的支持非常友好社区资源也丰富。2.1 创建新的虚拟机打开VMware点击“创建新的虚拟机”。选择“典型”配置即可这样大部分设置会采用推荐值。安装来源选择你下载好的Ubuntu 22.04 ISO镜像文件。个人信息设置一个你容易记住的用户名、密码以及虚拟机的名称例如LiuJuan-Test-Env。磁盘容量建议分配至少40GB。虽然系统本身用不了这么多但后续拉取Docker镜像尤其是大模型镜像需要不少空间。选择“将虚拟磁盘拆分成多个文件”这样迁移起来更方便。硬件自定义在最后一步先别急着点完成点击“自定义硬件”。这里有几个关键设置内存根据你宿主机真实电脑的内存来定。如果宿主机有16GB给虚拟机分配4GB-8GB是比较合适的。运行AI模型内存大一些总没坏处。处理器分配2个或更多的核心。核心数会影响后续Docker容器和模型运行的速度。网络适配器通常保持默认的“NAT模式”就行。这样虚拟机可以借助宿主机的网络上网同时宿主机也能访问虚拟机内的服务。配置完成后点击关闭然后启动这台虚拟机。它会自动从ISO镜像开始安装Ubuntu系统。安装过程基本都是图形化界面按照提示操作即可记得在安装过程中选择“安装OpenSSH server”方便以后用终端工具远程连接。2.2 初始系统配置系统安装完成后第一次启动我们先做几件必要的事情。更新系统打开终端快捷键CtrlAltT输入以下命令。这能确保你的系统软件包是最新的。sudo apt update sudo apt upgrade -y安装必要工具安装一些常用的工具比如用于网络诊断的net-tools和curl。sudo apt install -y net-tools curl检查网络输入ifconfig或ip addr show命令查看虚拟机的IP地址。记下这个地址通常是192.168.xxx.xxx这样的格式后面从宿主机访问模型服务时会用到。至此你的“虚拟电脑”就准备就绪了。接下来我们要在这台电脑上安装Docker引擎。3. 第二步在虚拟机中安装Docker与Docker-ComposeDocker官方为Ubuntu提供了非常便捷的安装脚本。我们直接采用官方推荐的方式。3.1 安装Docker Engine在终端中依次执行以下命令# 1. 卸载可能存在的旧版本 sudo apt remove -y docker docker-engine docker.io containerd runc # 2. 安装依赖包允许apt通过HTTPS使用仓库 sudo apt update sudo apt install -y ca-certificates curl gnupg lsb-release # 3. 添加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 # 4. 设置Docker稳定版仓库 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 # 5. 安装Docker Engine sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # 6. 验证安装是否成功 sudo docker run hello-world如果看到“Hello from Docker!”等欢迎信息说明Docker已经安装并运行成功了。3.2 配置非root用户运行Docker可选但推荐默认情况下运行Docker命令需要sudo权限。为了方便我们可以将当前用户加入docker用户组。# 将当前用户加入docker组 sudo usermod -aG docker $USER # 应用组变更需要重新登录生效 newgrp docker # 验证无需sudo即可运行docker命令 docker run hello-world执行完newgrp docker后当前终端会话就已经生效了。如果新开终端可能需要重新登录虚拟机用户。3.3 安装Docker-Compose独立版本虽然Docker现在内置了docker compose插件我们上面安装的docker-compose-plugin但有些镜像或项目可能仍需要独立的docker-compose命令。为了兼容性我们也安装一下。# 下载最新稳定版的docker-compose sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose # 赋予执行权限 sudo chmod x /usr/local/bin/docker-compose # 验证安装 docker-compose --version现在我们的虚拟机上已经拥有了完整的Docker运行环境。可以开始部署模型了。4. 第三步拉取并运行LiuJuan模型镜像假设我们已经从星图平台获得了LiuJuan模型的Docker镜像名称。部署一个容器化的模型核心就是docker run命令及其参数。4.1 拉取模型镜像使用docker pull命令从镜像仓库拉取镜像。请将your-mirror-registry/liujuan-model:tag替换为实际的镜像地址和标签。docker pull your-mirror-registry/liujuan-model:latest这个过程可能会花费一些时间因为模型镜像通常比较大。你可以通过docker images命令查看已经拉取到本地的镜像。4.2 运行模型容器基础命令最基础的运行命令如下docker run -d --name liujuan-container your-mirror-registry/liujuan-model:latest-d让容器在后台运行。--name给容器起一个名字方便后续管理。 但这远远不够。一个用于测试的模型容器我们通常需要控制它的资源、映射端口、挂载数据卷。4.3 配置容器资源限制在虚拟机中我们需要明确告诉Docker容器可以使用多少资源避免它占用所有资源导致宿主机虚拟机卡顿。docker run -d \ --name liujuan-test \ --cpus2.0 \ --memory4g \ --memory-swap4g \ your-mirror-registry/liujuan-model:latest--cpus2.0限制容器最多使用2个CPU核心。--memory4g限制容器最多使用4GB物理内存。--memory-swap4g将交换分区swap也限制为4GB通常与内存设为一致或设为0禁用swap。这对于稳定模型性能很重要。关于GPU如果宿主机有NVIDIA GPU并且你希望容器能使用GPU来加速模型推理需要先安装nvidia-container-toolkit然后在运行命令中加入--gpus all参数。但在VMware虚拟机中GPU直通Passthrough配置比较复杂且对宿主机硬件和VMware版本有要求。对于大多数测试场景使用CPU或虚拟化的GPU资源可能更简单。如果需要GPU支持建议查阅VMware和NVIDIA相关的直通文档。4.4 进行端口映射与网络设置模型服务通常在容器内部的某个端口比如7860、8080上运行。我们需要将这个端口“映射”到虚拟机的端口上这样宿主机才能访问。docker run -d \ --name liujuan-test \ --cpus2.0 \ --memory4g \ -p 7860:7860 \ -v /home/your_user/model_data:/app/data \ your-mirror-registry/liujuan-model:latest-p 7860:7860将容器内部的7860端口映射到虚拟机的7860端口。格式为宿主机端口:容器端口。你可以将前面的7860改为虚拟机上任意的空闲端口。-v /home/your_user/model_data:/app/data将虚拟机上的/home/your_user/model_data目录挂载到容器内的/app/data路径。这样模型生成的数据如图片、日志可以持久化保存在虚拟机磁盘上即使容器被删除数据也不会丢失。请确保虚拟机上的目录存在mkdir -p /home/your_user/model_data。5. 第四步管理、测试与故障排查容器运行起来后我们还需要知道如何管理它并验证服务是否正常。5.1 常用的容器管理命令# 查看正在运行的容器 docker ps # 查看所有容器包括已停止的 docker ps -a # 查看容器的日志输出非常重要用于排查问题 docker logs liujuan-test # 实时跟踪日志 docker logs -f liujuan-test # 进入容器内部的命令行就像登录进这个容器 docker exec -it liujuan-test /bin/bash # 停止容器 docker stop liujuan-test # 启动已停止的容器 docker start liujuan-test # 删除容器必须先停止 docker rm liujuan-test # 删除镜像 docker rmi your-mirror-registry/liujuan-model:latest5.2 测试模型服务确认容器状态运行docker ps确保liujuan-test容器的状态是Up。查看容器IP运行docker inspect liujuan-test | grep IPAddress可以找到容器在Docker网络内的IP地址。从虚拟机内部测试在虚拟机终端里用curl命令测试服务是否响应。假设模型HTTP服务在7860端口。curl http://localhost:7860或者使用容器的IPcurl http://容器IP:7860从宿主机测试这是最关键的一步。打开你宿主机你的真实电脑的浏览器在地址栏输入http://虚拟机IP:7860。这里的虚拟机IP就是你在2.2步骤中记下的那个地址。如果能看到模型的Web界面或收到正常的响应恭喜你部署成功了5.3 常见问题与解决思路端口无法访问检查虚拟机防火墙sudo ufw status。如果防火墙开启需要放行端口sudo ufw allow 7860。检查docker run的-p参数映射是否正确。在虚拟机内用curl http://localhost:7860测试如果通说明是虚拟机到宿主机的网络问题如果不通说明容器内服务没起来查看docker logs。容器启动后立即退出查看日志找原因docker logs liujuan-test。常见原因是镜像内的启动命令出错或者端口冲突。内存/CPU不足观察虚拟机本身资源是否充足。可以通过VMware界面调整虚拟机的内存和CPU分配。调整docker run命令中的--memory和--cpus参数给容器分配更多资源。磁盘空间不足运行docker system df查看Docker磁盘使用情况。清理无用的镜像和容器docker system prune -a谨慎使用会删除所有未使用的资源。6. 写在最后走完这一整套流程你应该已经成功在VMware虚拟机里通过Docker跑起了LiuJuan模型。回顾一下我们其实做了三件事用VMware造了一台“虚拟电脑”在这台电脑上安装了Docker这套“标准化集装箱系统”最后把模型这个“货物”用集装箱运行了起来。这种方式的优势在测试阶段非常突出。你可以随时为不同的项目创建纯净的虚拟机环境在每个环境里用Docker快速部署和销毁不同的模型服务彼此完全隔离。测试完成后直接关闭或删除虚拟机即可不留任何痕迹。下次如果你需要测试其他模型或者升级LiuJuan的版本步骤会简单很多可能只需要在新的容器里拉取新镜像或者用docker-compose.yml文件来编排更复杂的服务。希望这个详细的指南能帮你扫清搭建测试环境的障碍让你能把更多精力聚焦在模型本身的评估和应用上。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章