GLM-OCR开发环境容器化:VMware虚拟机中部署完整实验环境
GLM-OCR开发环境容器化VMware虚拟机中部署完整实验环境你是不是也遇到过这种情况自己电脑上跑得好好的代码发给同事就报错排查半天发现是环境不一致。或者想复现一个开源项目光是配环境就花了一整天各种依赖冲突让人头大。今天咱们就来彻底解决这个问题。我会手把手带你在VMware虚拟机里装一个干净的Ubuntu系统然后用Docker Compose一键拉起一个包含GLM-OCR服务、MySQL数据库、Redis缓存的完整开发栈。以后不管是你自己换电脑还是团队新成员加入直接把这个虚拟机镜像或者Docker配置丢过去环境瞬间就绪再也不用说“在我机器上能跑”了。整个过程就像搭积木咱们一步步来保证清晰明了。1. 准备工作安装VMware与获取Ubuntu镜像工欲善其事必先利其器。第一步咱们得把“地基”打好。1.1 下载并安装VMware Workstation PlayerVMware Workstation Player是一个免费的虚拟机软件个人学习和非商业用途完全够用。它的好处是稳定、性能好而且和我们常用的Windows或macOS系统兼容性很棒。访问官网打开浏览器搜索“VMware Workstation Player下载”找到官网的下载页面。选择适合你电脑操作系统的版本比如Windows。完成安装下载好后双击安装程序基本上一直点“下一步”就能装好。安装过程中可能会要求重启电脑按照提示操作就行。1.2 获取Ubuntu Server镜像为了环境干净和节省资源我们选择Ubuntu Server版本它没有图形界面更轻量更适合做服务器环境。选择版本建议选择最新的LTS长期支持版本比如Ubuntu 22.04 LTS。LTS版本稳定支持周期长。下载镜像访问Ubuntu官网找到“Download Ubuntu Server”页面下载.iso格式的镜像文件。这个文件大概1个G左右找个网速好的时候下。好了VMware装好了Ubuntu的安装镜像也下载到手了接下来咱们就在虚拟机里“安装”这个新系统。2. 创建并配置Ubuntu虚拟机现在我们要在VMware里“新建”一台电脑并把Ubuntu系统装进去。2.1 创建新的虚拟机打开安装好的VMware Workstation Player你会看到主界面。点击创建新虚拟机在主界面选择“创建新虚拟机”。选择安装方式在弹出的向导里选择“安装程序光盘映像文件”然后点击“浏览”找到你刚才下载的Ubuntu Server的.iso文件。设置系统信息用户名和密码这里设置的是你将来登录这个Ubuntu系统的账号和密码一定要记住。比如用户名可以设为devuser。虚拟机名称给它起个名字比如GLM-OCR-Dev方便识别。安装位置选择一个你电脑上空闲空间比较大的磁盘分区来存放这个虚拟机文件建议至少预留40GB空间。指定磁盘容量虚拟机硬盘大小默认20GB对于基础开发环境可能有点紧巴我建议调到40GB。并选择“将虚拟磁盘拆分成多个文件”这样迁移和备份会灵活一些。完成创建在最后一步先别急着点“完成”。点击“自定义硬件”我们还需要调整一下配置。2.2 调整虚拟机硬件配置为了让虚拟机运行更流畅我们需要给它分配足够的“资源”。内存如果你的电脑有16GB内存可以分给虚拟机4GB (4096 MB)。如果电脑是8GB那就分2GB。这是运行服务的基本保障。处理器将处理器数量设置为2每个处理器的核心数也设为2即总共4个逻辑核心。这样能更好地利用宿主机的性能。网络适配器确保网络连接模式是“NAT模式”。这个模式最简单虚拟机会共享你宿主机的网络可以直接上网宿主机也能直接访问虚拟机非常适合开发。完成并开机调整好之后关闭硬件设置窗口点击“完成”。VMware会自动启动这台新虚拟机并开始安装Ubuntu系统。2.3 安装Ubuntu Server系统虚拟机启动后会进入Ubuntu安装界面整个过程基本都是命令行交互别担心跟着提示走。选择语言默认英语就行直接回车。更新选项安装器可能会问你是否在安装时更新软件包选择不更新我们待会儿自己弄这样安装更快。磁盘分区到了磁盘分区这一步选择默认的“Use an entire disk”就好安装程序会自动处理好。配置用户这里会再次确认你之前设置的用户名和密码检查一下。安装OpenSSH Server这是关键一步在软件选择界面用空格键选中OpenSSH server。有了它我们就可以用终端工具如VS Code Remote, MobaXterm, 或者macOS/Linux自带的终端通过SSH连接到虚拟机比在VMware窗口里操作方便太多了。等待安装确认后系统就会开始安装。泡杯茶的功夫安装完成它会提示你重启。重启后你就拥有了一个全新的、干净的Ubuntu Server系统。3. 初始化Ubuntu系统与安装Docker系统装好了我们先进行一些基础设置然后把最重要的工具——Docker——装上。3.1 首次登录与系统更新虚拟机重启后会提示你登录。输入你之前设置的用户名和密码注意输入密码时屏幕没显示是正常的。登录成功后第一件事是更新系统软件包列表并升级现有软件。sudo apt update sudo apt upgrade -y这个命令可能会跑一会儿它会让你的系统保持最新状态。3.2 安装Docker与Docker ComposeDocker是我们实现环境一致性的核心。我们将使用官方提供的一键安装脚本非常方便。安装Dockercurl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh这个脚本会自动完成所有安装和配置。将当前用户加入docker组避免每次都要用sudosudo usermod -aG docker $USER重要执行这个命令后你需要完全退出当前SSH会话然后重新登录这个改动才会生效。验证Docker安装 重新登录后运行docker --version如果看到Docker版本号比如Docker version 24.0.7说明安装成功。安装Docker Compose Docker Compose是一个用来定义和运行多容器应用的工具我们用它来编排GLM-OCR、MySQL和Redis。sudo apt install docker-compose-plugin -y安装后可以用docker compose version检查。4. 部署GLM-OCR完整开发栈环境准备好了现在开始部署我们的主角。我们将创建一个docker-compose.yml文件它就像一份乐谱告诉Docker如何同时启动多个服务。4.1 准备项目目录与配置文件首先我们在家目录下创建一个项目文件夹。mkdir -p ~/glm-ocr-dev cd ~/glm-ocr-dev然后创建我们的核心配置文件docker-compose.ymlversion: 3.8 services: # MySQL数据库 mysql: image: mysql:8.0 container_name: glm-ocr-mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: your_strong_root_password # 请务必修改 MYSQL_DATABASE: glm_ocr_db MYSQL_USER: devuser MYSQL_PASSWORD: your_db_password # 请务必修改 ports: - 3306:3306 volumes: - mysql_data:/var/lib/mysql healthcheck: test: [CMD, mysqladmin, ping, -h, localhost] timeout: 20s retries: 10 # Redis缓存 redis: image: redis:7-alpine container_name: glm-ocr-redis restart: unless-stopped ports: - 6379:6379 volumes: - redis_data:/data command: redis-server --appendonly yes # GLM-OCR服务 (这里需要替换为实际的镜像名) glm-ocr: image: your-glm-ocr-image:latest # 请替换为真实的GLM-OCR镜像 container_name: glm-ocr-service restart: unless-stopped depends_on: mysql: condition: service_healthy redis: condition: service_started environment: - DATABASE_URLmysql://devuser:your_db_passwordmysql:3306/glm_ocr_db - REDIS_URLredis://redis:6379/0 # 其他GLM-OCR所需的环境变量... ports: - 8000:8000 # 假设GLM-OCR服务运行在8000端口 volumes: - ./ocr_uploads:/app/uploads # 挂载上传文件目录 - ./config:/app/config # 挂载配置文件目录 # 如果服务需要初始化可以在这里添加command或entrypoint # 定义数据卷确保数据持久化 volumes: mysql_data: redis_data:重要提示请将配置文件中的your_strong_root_password和your_db_password替换成你自己设定的复杂密码。your-glm-ocr-image:latest需要替换成GLM-OCR项目官方提供的Docker镜像名或者你自己构建的镜像名。如果项目没有官方镜像你可能需要先根据其Dockerfile构建镜像。4.2 启动完整服务栈配置文件写好之后一键启动所有服务。cd ~/glm-ocr-dev docker compose up -d-d参数代表“后台运行”。执行这个命令后Docker会依次拉取镜像如果本地没有、创建容器、并启动它们。4.3 检查服务状态启动完成后检查一下所有容器是否都在正常运行。docker compose ps你应该能看到mysql、redis、glm-ocr-service三个服务的状态都是Up。还可以查看实时日志docker compose logs -f glm-ocr-service # 查看GLM-OCR服务日志CtrlC退出5. 验证与使用环境环境跑起来了我们得验证一下它是不是真的工作。5.1 验证数据库连接进入MySQL容器看看数据库是否创建成功。docker exec -it glm-ocr-mysql mysql -u devuser -p输入你在docker-compose.yml里设置的your_db_password如果成功进入MySQL命令行并可以执行SHOW DATABASES;看到glm_ocr_db说明数据库服务一切正常。5.2 验证GLM-OCR服务假设我们的GLM-OCR服务在容器内的8000端口提供了HTTP API。我们可以从虚拟机内部或者宿主机进行访问。在虚拟机内测试curl http://localhost:8000/health # 假设有健康检查端点在宿主机测试 因为我们在docker-compose.yml里把容器的8000端口映射到了虚拟机的8000端口并且虚拟机网络是NAT模式所以宿主机可以直接访问虚拟机的IP。首先在Ubuntu虚拟机里用ip addr show命令查看IP地址通常是以192.168.或172.开头的。然后在你的宿主机Windows/macOS的浏览器或终端里访问http://虚拟机IP:8000。如果能看到预期的响应恭喜你一个完整的、容器化的GLM-OCR开发环境已经部署成功了6. 环境维护与团队共享环境搭建不是终点如何用好和分享它才是关键。6.1 日常操作命令记住这几个命令日常开发就够了docker compose up -d启动环境。docker compose down停止并移除所有容器注意默认不会删除数据卷数据还在。docker compose down -v停止并移除所有容器以及数据卷数据会被清空慎用。docker compose restart service_name重启某个特定服务。docker compose logs -f查看所有服务的实时日志。6.2 如何共享这个环境这就是容器化的最大优势共享配置你只需要把~/glm-ocr-dev这个文件夹主要是docker-compose.yml和自定义配置文件打包发给队友。他们只要在自己的Docker环境里运行docker compose up -d就能获得一个和你一模一样的环境。共享虚拟机镜像更彻底如果你想分享整个Ubuntu基础系统加Docker环境可以使用VMware的“克隆”或“导出为OVF”功能生成一个镜像文件。队友用VMware导入这个镜像开机即用连系统安装和Docker配置的步骤都省了。7. 总结走完这一趟你会发现虽然前期配置虚拟机、安装系统看起来步骤不少但这是一次性的投入。一旦这个容器化的环境搭建好它带来的回报是巨大的团队再也不会因为环境问题扯皮新项目成员 onboarding 时间从一天缩短到十分钟你自己在不同设备间切换开发也毫无压力。这套方法的核心思想就是“隔离”和“声明”。用虚拟机隔离操作系统环境用Docker隔离应用运行环境再用一个docker-compose.yml文件声明所有服务的依赖和配置。一切变得可重复、可追溯。如果你在跟着操作的过程中遇到任何问题比如网络连接不上、镜像拉取失败最常见的原因可能是网络代理或者镜像地址不对多检查一下配置文件和环境变量。接下来你就可以在这个稳定一致的环境里专心致志地开发你的GLM-OCR应用功能了。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。