
本文基于 szabis/iventoy:1.0.39实测引擎iVentoy 1.0.39Free Edition · Linux x86_64测试平台Ubuntu 24.04Linux。机房里新到一批裸机有人抱着一摞 U 盘逐台烧 Ubuntu有人在 BIOS 里改启动项装到一半才发现 ISO 放错版本有人半夜还在给 Windows 装机包拷盘。想「网线一插就能选系统」常见做法是自建 DHCP TFTP HTTP再手写菜单——规则散在 Wiki 和脚本里换架构或加一张 ISO 就要重配一轮。另一层更硬装机流量和 ISO 最好留在内网盘上。公有云模板不适合专有云 / 等保机房纯手工 PXE 又容易和现网 DHCP、67/69 端口打架。很多团队其实已经有一台跑 Docker 的 Ubuntu缺的只是镜像能拉、26000能开、ISO 落在挂载目录。iVentoy中文官网、GitHub · ventoy/PXE是增强版PXE / HTTPBoot服务器ISO 直接投放、无需拆包可同时给多台机器网络启动与安装支持 Legacy / 各架构 UEFI含安全启动及鲲鹏、飞腾、龙芯等信创机型覆盖 Windows / WinPE / Linux 等110类系统。社区镜像szabis/iventoy镜像页把能力装进容器管理台26000PXE HTTP16000。部署跑通之后你实际能做这些事场景部署后怎么用打开管理台http://服务器IP:26000建议 Chrome / Firefox投放 ISO拷到./iso文件名勿含空格与非 ASCII在「镜像管理」刷新启 PXE选局域网 IP勿选 docker0点绿色启动现网可改 External DHCP访问控制MAC 过滤谁能 PXE/ 用户过滤谁能开管理台备份搬家停容器后打包./data、./iso、./user本文用 轩辕镜像 加速拉取szabis/iventoy:1.0.39Docker Compose以host 网络 privileged AUTO_START_PXEfalse启动。实测局域网 IP192.168.1.35请换成你的。无 Compose 见第八节。文内7张实测截图。上手要点部署第五节 Compose备选docker run见第八节访问宿主26000→ GUIPXE HTTP16000host 模式直接占宿主端口硬性privileged: truenetwork_mode: host自动启镜像默认AUTO_START_PXEtrue。跟做须写false省略 ≠ 关闭否则进程会退出curl得000见 5.4Server IPGUI 常默认docker0/172.17.0.1——装机改选局域网实测 **192.168.1.35/ br0数据./data、./iso、./driver、./log、./user→/opt/iventoy/...标签跟做1.0.39勿写latest体积 DISK253MB/ CONTENT74.4MB现网已有 DHCP 时先改 External / Proxy或隔离实验网段官方中文官网 · 快速开始 · 第三方 DHCP · 镜像页一、iVentoy 是什么相对「自己拼 DHCP TFTP nginx」iVentoy 更偏浏览器里管多 ISO 网络启动ISO 放进目录即可菜单可中文显示并按客户端架构过滤镜像。不熟悉 PXE / DHCP / TFTP 时不要直接在生产办公网开内置 DHCP。iVentoy本文手工 PXE云厂商装机模板入口浏览器:26000多份配置文件厂商控制台ISO目录投放 Web 刷新 / 上传手写路径与菜单预置镜像客户端Legacy / UEFI / ARM64 / 龙芯等自配引导云侧DHCP内置或第三方协作自建云侧适合机房批量装机、实验网、信创机型已有完整 PXE 栈公有云虚机浏览器管理台 │ :26000 ▼ szabis/iventoy host privileged ├── ./data → /opt/iventoy/data ├── ./iso → /opt/iventoy/iso ├── ./user / ./driver / ./log ├── :16000 PXE HTTP └── :67/udp :69/udp …按 DHCP 模式能力说明见 iVentoy 中文简介。/r/与/zh/r/为同一镜像不同页面。同站还有其它社区 iventoy 镜像本文固定szabis/iventoy:1.0.39。上游官网若已发新版本资讯Docker 标签仍以 tags 为准。二、环境要求项目建议系统Linux建议Ubuntu 24.04DockerEngine Compose V2架构amd64以 tags 为准权限能跑privileged建议 root内存≥1 GB可用ISO 多再加磁盘DISK253MB/ CONTENT74.4MB ISO 体积网络host测试建议独立 VLAN / 实验交换机端口26000、16000、69/udp等冲突时换机或停占用进程docker--versiondockercompose versionLinux 未装 Docker 可使用轩辕镜像一键安装脚本bash(wget-qO- https://get.xuanyuan.cloud/docker.sh)备用地址bash(wget-qO- https://get.xuanyuan.me/docker.sh)更多见 轩辕镜像使用手册。ss-tlnp|grep-E:26000|:16000ss-ulnp|grep-E:67|:69host 网络下不能像桥接那样改映射左侧端口只能停掉占用进程或在 iVentoy「参数配置」里改服务端口。安全PXE 可让可达客户端拉起安装菜单。勿把26000 / 16000裸暴露公网生产网优先第三方 DHCP External并限制二层域。三、标签怎么选跟做使用1.0.39。完整列表tags。标签含义推荐1.0.39稳定发行撰写时与latest同 Digest本文跟做1.0.38/1.0.x历史小版本回滚latest浮动线勿写入跟做命令1.3/1.2/1.1/1.0早期镜像线仅特殊兼容升级前备份./data与./iso同步改 pull、Compose、docker run三处标签并核对维护者 changelog / 上游说明。四、拉取镜像用 轩辕镜像 加速拉取dockerpull docker.xuanyuan.run/szabis/iventoy:1.0.39Ubuntu 24.04 实测1.0.39: Pulling from szabis/iventoy 1b89f26c9bf9: Pull complete 1c24335ddd46: Pull complete 6f5c5aa4e145: Pull complete 86281a433bb8: Pull complete 938d92953e2b: Pull complete fae021f388e1: Pull complete Digest: sha256:64b80533370881587c8e958f5d572729934cecdfe036f48ba138f2036e8fe741 Status: Downloaded newer image for docker.xuanyuan.run/szabis/iventoy:1.0.39 docker.xuanyuan.run/szabis/iventoy:1.0.39dockerimages docker.xuanyuan.run/szabis/iventoy:1.0.39IMAGE ID DISK USAGE CONTENT SIZE EXTRA docker.xuanyuan.run/szabis/iventoy:1.0.39 64b805333708 253MB 74.4MB官方镜像轩辕镜像加速拉取szabis/iventoy:1.0.39docker pull docker.xuanyuan.run/szabis/iventoy:1.0.39401 / 402 见 常见问题。五、Docker Compose 部署推荐平台工作目录Linux正文默认/www/wwwroot/iventoymacOS~/docker/iventoyDocker Desktop 通常无法给局域网裸机做 PXE仅适合看 GUIWindowsDocker Desktop如C:\docker\iventoy装机请用 Linux 宿主机容器须以 root 跑且privileged: true、network_mode: host。host 下 Compose 的ports:不生效故下文不写端口映射。5.1 准备目录mkdir-p/www/wwwroot/iventoy/{data,driver,iso,log,user}cd/www/wwwroot/iventoy# macOSmkdir -p ~/docker/iventoy/{data,driver,iso,log,user} cd ~/docker/iventoy非 root 给mkdir加sudo。ISO 可稍后放入iso/见 6.5官方要求目录名与文件名不要含空格和非 ASCII也可用ln -s链到大容量盘。5.2 编写 docker-compose.ymlcatdocker-compose.ymlEOF services: iventoy: image: docker.xuanyuan.run/szabis/iventoy:1.0.39 container_name: iventoy hostname: iventoy network_mode: host privileged: true restart: unless-stopped environment: - TZAsia/Shanghai - AUTO_START_PXEfalse healthcheck: test: [CMD, curl, --fail, --silent, --head, http://localhost:26000/] interval: 30s timeout: 10s retries: 3 start_period: 2m volumes: - ./data:/opt/iventoy/data - ./driver:/opt/iventoy/driver - ./iso:/opt/iventoy/iso - ./log:/opt/iventoy/log - ./user:/opt/iventoy/user EOF项说明network_mode: host与宿主共网栈PXE 必须privileged: true维护者要求TZAsia/Shanghai覆盖镜像默认Europe/BudapestAUTO_START_PXEfalse镜像默认true。true时入口跑iventoy.sh -R start无有效配置会直接退出。首次跟做必须写false五个卷配置、驱动、ISO、日志、用户脚本宿主端口对照核对占用用不是Compose 映射端口用途67/udpDHCP内置模式69/udpTFTP3260/10809/12049iSCSI / NBD / NFS16000PXE HTTP26000Web GUI5.3 启动并验证dockercompose up-ddockercomposepsUbuntu 24.04 实测[] up 1/1 ✔ Container iventoy StartedNAME IMAGE COMMAND SERVICE CREATED STATUS PORTS iventoy docker.xuanyuan.run/szabis/iventoy:1.0.39 /opt/iventoy/entryp… iventoy 4 seconds ago Up 2 seconds (health: starting)host 下PORTS列常为空。Up≠ GUI 已就绪以日志与curl为准。dockercompose logs-fiventoy成功关键行实测AUTO_START_PXEfalseiventoy | [INFO] Timezone set to Asia/Shanghai iventoy | [INFO] Auto start disabled iventoy | iventoy start SUCCESS PID31 iventoy | #################### iVentoy 1.0.39 #################### iventoy | [HTTP] HTTP API service is running on 0.0.0.0:26000 ... iventoy | [5] 192.168.1.35 255.255.255.0 192.168.1.1 br0 iventoy | iVentoy entering main loop ... iventoy | [HTTP] 200 HEAD / size 0若仍是Auto start enabled或随后出现Main loop break见5.4。装机用局域网 IP上表 **192.168.1.35/ br0不要用172.x 的 docker 网桥。CtrlC只退出日志跟踪。再探测curl-s-o/dev/null-w%{http_code}\nhttp://127.0.0.1:26000/200浏览器打开http://192.168.1.35:26000界面步骤见第六节。5.4 踩坑自动启默认开、脏config.dat镜像 ENV 默认AUTO_START_PXEtrue。Compose省略该变量时仍会自动启。现象日志Auto start enabled随后No config.dat exist, can NOT auto run或DHCP server ip is 0再Main loop breakcurl得000。失败退出时还会写出残缺config.datip:0.0.0.0下次自动启仍会挂。修复cd/www/wwwroot/iventoydockercompose downrm-f./data/config.dat# 确认 compose 含 AUTO_START_PXEfalsedockercompose up-d--force-recreatecurl-s-o/dev/null-w%{http_code}\nhttp://127.0.0.1:26000/期望日志出现Auto start disabled与entering main loopcurl为200。GUI 选好局域网 IP、点过绿色 Start 并确认 PXE 可用后再视需要改回AUTO_START_PXEtrue。六、浏览器首次配置与体验建议Chrome或Firefox。打开http://192.168.1.35:26000。6.1 启动信息改选局域网 IP 并启 PXE首次进入多为启动信息。下拉「选择本机 IP」常默认docker0/172.17.0.1——局域网裸机装机必须改选192.168.1.35或你的 br0 / eth0再按需改地址池 / 网关 / DNS最后点右侧绿色启动。页脚可见Version 1.0.39 Linux x86_64与免费版提示。6.2 参数配置DHCP 与端口参数配置可改 TFTP 超时、HTTP16000/ NBD / iSCSI / NFS以及 DHCP 模式、二次 DHCP、启动背景、Legacy/UEFI 引导文件等。改完点保存。场景建议 DHCP 模式独立实验网 / 无其它 DHCPInternal实测默认同网段已有路由器 / 域控 DHCPExternal或 Proxy跨 VLANExternalNet等对第三方 DHCP 要求更高External 时在第三方 DHCP 设next-server iVentoy IPbootfileiventoy_loader_16000HTTP 端口改过则后缀跟着改。见 第三方 DHCP。6.3 MAC 过滤控制哪些客户端可获得PXE服务白名单 / 黑名单支持*模糊匹配。办公网建议至少看一眼避免无关机器误进装机菜单。6.4 用户过滤按 IP 限制谁能打开管理台不是 PXE 客户端。支持192.168.1.*通配生产建议只放运维网段。6.5 镜像管理空目录时界面会提示把镜像放到iso目录后点刷新也可上传。cp/path/to/ubuntu-24.04-live-server-amd64.iso /www/wwwroot/iventoy/iso/# GUI 点「刷新」文件名勿含空格与非 ASCII刷新后列表应出现 ISO。客户端开网络启动即可进入 iVentoy 菜单选系统装机流量走16000等端口需保证二层/三层可达。6.6 注册信息可核对1.0.39 Linux x86_64、免费版标识与机器码升级专业版时用。6.7 可选配置成功后再开自动启仅当 GUI 已选好局域网 IP、点过绿色 Start、PXE 确认可用后再把 Compose 改为AUTO_START_PXEtrue并docker compose up -d。此前保持false原因见 5.4。6.8 生产加固26000仅内网或 VPN配合用户过滤限制运维 IP现网优先第三方 DHCP ExternalMAC 过滤限制可装机客户端升级前备份./data与 ISO勿把 privileged 容器暴露公网七、备份、升级与迁移cd/www/wwwroot/iventoydockercompose stoptar-czfiventoy-backup-$(date%F).tar.gz data driver iso user log docker-compose.ymldockercompose startISO 很大时可只备份data/userISO 库另做存储快照。升级查 tags → 改 Compose 标签 →docker compose pull docker compose up -d→ 打开:26000核对版本。迁移时恢复同结构目录与docker-compose.yml在新机改选 Server IP 后启动。八、备选docker run无 Compose 时可临时使用日常仍建议第五节。mkdir-p/www/wwwroot/iventoy/{data,driver,iso,log,user}dockerrun-d--nameiventoy\--networkhost\--privileged\--restartunless-stopped\-eTZAsia/Shanghai\-eAUTO_START_PXEfalse\--health-cmdcurl --fail --silent --head http://localhost:26000/ || exit 1\--health-interval30s\--health-timeout10s\--health-retries3\--health-start-period2m\-v/www/wwwroot/iventoy/data:/opt/iventoy/data\-v/www/wwwroot/iventoy/driver:/opt/iventoy/driver\-v/www/wwwroot/iventoy/iso:/opt/iventoy/iso\-v/www/wwwroot/iventoy/log:/opt/iventoy/log\-v/www/wwwroot/iventoy/user:/opt/iventoy/user\docker.xuanyuan.run/szabis/iventoy:1.0.39host 下-p无效。首次必须AUTO_START_PXEfalse曾失败则先删data/config.dat。dockerps--filternameiventoydockerlogs-fiventoydockerstop iventoydockerrmiventoy九、常见问题 FAQQ1和现网 DHCP 冲突立刻停容器或改 External / Proxy并在路由器配next-server与bootfile。实验用独立交换机。Q2curl得000/ 打不开 26000看是否Auto start enabled后进程退出或存在脏config.dat——按5.4处理。再查防火墙与访问 IP用192.168.1.35勿用172.x。Q3ISO 放了但镜像管理是空的去掉空格与中文文件名确认挂载的是宿主机./isoGUI 点刷新。Q4必须 privileged host 吗按维护者说明是。桥接 普通权限通常跑不稳完整 PXE。Q5Docker Desktop 能给办公室电脑装系统吗管理台或许能开局域网裸机 PXE不可靠。装机用 Linux 物理机或桥接网卡的虚拟机。Q6GUI 里 Server IP 选哪个选局域网地址实测 **192.168.1.35/ br0。默认的docker0/172.17.0.1 只服务 Docker 网桥物理机进不了装机菜单。Q7为什么不用latest浮动标签会静默升级步骤可能与文档脱节。跟做固定1.0.39。Q8Compose 删了AUTO_START_PXE为何还是 Auto start enabled镜像默认就是true。必须显式写false。Hub 示例里的true仅适合已有成功配置之后。十、命令速查dockerpull docker.xuanyuan.run/szabis/iventoy:1.0.39cd/www/wwwroot/iventoydockercompose up-ddockercomposepsdockercompose logs-fiventoycurl-s-o/dev/null-w%{http_code}\nhttp://127.0.0.1:26000/# 修复自动启失败dockercompose downrm-f./data/config.datdockercompose up-d--force-recreatedockercompose pulldockercompose up-ddockercompose down十一、延伸阅读资源链接szabis/iventoy 镜像页https://xuanyuan.cloud/zh/r/szabis/iventoyszabis/iventoy 概览https://xuanyuan.cloud/r/szabis/iventoyszabis/iventoy 标签列表https://xuanyuan.cloud/r/szabis/iventoy/tagsiVentoy 中文官网https://www.iventoy.com/cn/index.htmliVentoy · 快速开始https://www.iventoy.com/en/doc_start.htmliVentoy · 第三方 DHCPhttps://www.iventoy.com/en/doc_ext_dhcp.htmlGitHub · ventoy/PXEhttps://github.com/ventoy/PXEDocker Hub · szabis/iventoyhttps://hub.docker.com/r/szabis/iventoy轩辕镜像使用手册https://xuanyuan.cloud/usage总结跟做szabis/iventoy:1.0.39Compose hostprivilegedAUTO_START_PXEfalse管理台http://IP:26000Server IP 选局域网勿用 docker0ISO 进./iso现网处理好 DHCP可用 MAC / 用户过滤加固自动启失败删./data/config.dat并保持falseGUI 跑通后再改true阅读原文轩辕镜像官方博客https://xuanyuan.cloud/blog/iventoy-docker-deploy