
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Dockerised Unity Editor镜像是将Unity编辑器(Unity Editor)打包为Docker容器的标准化部署方案。通过容器化技术,解决传统Unity开发中环境配置复杂、跨平台依赖不一致、版本管理混乱等问题,提供隔离、可移植、版本固定的Unity运行环境,适用于自动化构建、持续集成/持续部署(CI/CD)及统一开发流程。
游戏开发团队CI/CD流程
集成至GitLab CI、Jenkins、GitHub Actions等平台,实现代码提交后自动触发Unity项目构建、打包并上传至测试服务器
多版本Unity项目并行开发
为不同Unity版本(如2019.x、2021.x、2023.x)的项目分别部署对应版本镜像,避免本地安装多版本Unity的冲突问题
自动化测试与构建任务
定时执行Unity项目的单元测试、场景加载测试,并生成构建报告,及时发现版本迭代中的兼容性问题
教学与演示环境
快速部署统一的Unity教学环境,学生无需手动安装Unity,通过容器即可运行指定版本编辑器进行学习或演示
服务器端Unity应用构建
针对需要在服务器运行的Unity应用(如实时渲染服务、3D模拟引擎),通过镜像完成构建并部署至云服务器
1. 获取镜像
从Docker Registry拉取指定版本镜像(假设镜像名为unity-editor,标签为Unity版本号,如2021.3.2f1):
bashdocker pull unity-editor:2021.3.2f1
2. 基本运行命令
通过docker run启动容器,挂载本地Unity项目目录并执行构建任务:
bashdocker run -it --rm \ -v /path/to/local/unity/project:/workspace/project \ # 挂载本地项目目录至容器内/workspace/project -v /path/to/unity/license:/workspace/license.ulf \ # 挂载Unity许可证文件(.ulf格式) -e UNITY_LOG_LEVEL=info \ # 设置日志级别(error/warn/info/debug) unity-editor:2021.3.2f1 \ # 使用的镜像及版本 unity-editor -batchmode \ # Unity命令行模式(无GUI) -projectPath /workspace/project \ # 指定项目路径 -buildWindowsPlayer /workspace/project/Builds/Windows/Game.exe \ # 构建Windows平台可执行文件 -quit \ # 构建完成后退出 -logFile /workspace/project/build.log # 日志输出至文件
3. Docker Compose配置(多项目/多任务场景)
创建docker-compose.yml文件,定义持久化卷、环境变量及服务依赖:
yamlversion: '3.8' services: unity-builder: image: unity-editor:2021.3.2f1 volumes: - ./projects:/workspace/projects # 本地项目目录(可包含多个Unity项目) - ./licenses:/workspace/licenses # 许可证文件目录(可存放多个版本许可证) - unity-cache:/root/.cache/unity # 持久化Unity缓存(加速重复构建) environment: - UNITY_VERSION=2021.3.2f1 - DEFAULT_BUILD_TARGET=Android # 默认构建目标平台 - LOG_LEVEL=info command: > sh -c "unity-editor -batchmode -projectPath /workspace/projects/my-game -buildAndroidPlayer /workspace/projects/my-game/Builds/Android -quit -logFile /workspace/projects/my-game/build.log" volumes: unity-cache: # 命名卷,持久化Unity缓存数据
启动服务:
bashdocker-compose up
环境变量
| 变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
UNITY_VERSION | 容器内Unity编辑器版本(需与镜像标签一致,用于日志和校验) | latest | 2021.3.2f1 |
LOG_LEVEL | 日志输出级别(error/warn/info/debug) | info | debug |
DEFAULT_BUILD_TARGET | 默认构建目标平台(如Windows64、Android、iOS、Linux64) | Windows64 | Android |
LICENSE_PATH | Unity许可证文件在容器内的路径(若未通过-v挂载,可通过此变量指定) | /license.ulf | /workspace/licenses/pro.ulf |
PROJECT_CACHE_DIR | Unity项目缓存目录(用于加速资源导入) | /root/.cache/unity | /workspace/cache |
挂载目录建议
| 本地路径 | 容器内路径 | 用途说明 |
|---|---|---|
/path/to/projects | /workspace/projects | 挂载本地Unity项目目录,用于读取项目文件及输出构建结果 |
/path/to/licenses | /workspace/licenses | 挂载Unity许可证文件(.ulf),支持个人版/专业版许可证 |
/path/to/build-output | /workspace/builds | 单独挂载构建输出目录(可选,便于集中管理多项目构建结果) |
./unity-cache | /root/.cache/unity | 持久化Unity缓存(包含已导入资源、库文件等),避免每次构建重复导入资源 |
Unity命令行参数(核心构建命令)
容器内通过unity-editor命令调用Unity编辑器,支持所有官方命令行参数,常用构建相关参数:
-batchmode:无GUI批处理模式(必须,容器内无图形界面)-projectPath <path>:指定Unity项目路径-build<Platform>Player <output-path>:构建目标平台可执行文件(如-buildAndroidPlayer)-exportPackage <assets-path> <output-package>:导出资源包-executeMethod <ClassName.MethodName>:执行项目中的C#静态方法(用于自定义构建逻辑)-quit:任务完成后退出编辑器-logFile <path>:将日志输出至指定文件(避免控制台输出乱码)-nographics:禁用图形渲染(进一步优化容器资源占用)-licenseServer参数指向服务器地址。unity-editor:2021.3.2f1-ios)。--cpus和--memory参数限制容器资源占用。-u $(id -u):$(id -g)参数指定容器内用户ID)。sdk标签的镜像变体)。PROJECT_CACHE_DIR目录,缓存已导入资源;或增加容器内存分配(--memory=16g)。unity-editor命令是否添加-batchmode和-quit参数,无任务时容器会自动退出,需确保构建命令正确执行。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务