数字人heygem部署流程(2025年4月)
数字人heygem部署流程(2025年4月)
需要在离线win10-20H2版本系统部署heygem.ai数字人,正常流程走到执行docker-composed up时,会报错显示容器内无法使用GPU,猜测是因为旧版本dockerdesktop对于容器内gpu使用相关功能集成不完善,而20H2版本无法安装较新版本dockerdesktop,于是只有两条路可以走:
-
更新新版本win,安装最新版dockerdesktop。
-
停用dockerdesktop,wsl2手动安装ubuntu分发版并部署docker。
笔者选择第二条路,其思路在于,wsl2内安装好docker、nvidiacontainertoolkit并配置好runtime、宿主机内安装好cudatoolkit和nvidia最新驱动,可以实现容器内gpu使用。
实现步骤如下:
一、尝试下载distro
一种思路是,下载distro安装包先安装在离线电脑上,再逐个通过物理介质导入进行包的安装,然而此方法实现起来极其不方便,这是因为离线电脑安装极有可能遇上缺少依赖的情况,此时因为没有网络,只能再次在互联网上寻找安装包后手动安装,过程费时费力!所以,我们换一种思路,在一台系统差别不大的互联网电脑上,安装ubuntu分发版并配置好所有需要的组件后整体导出,再导入离线电脑导入并使用,实践证明效果拔群!用到的指令如下:
1. 导出导入
(FileName为ext4.vhdx路径,通过微软appstore安装的distro,其路径为:C:\\Users\\Lenovo\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\\LocalState)
wsl --export <DistroName> <FileName>
wsl --import-in-place <DistroName> <FileName>
2. 查看所有当前已经导入的distro
wsl --list --verbose
3. 删除distro
wsl --unregister <DistroName>
4. 启动distro
wsl -d <DistroName>
二、distro中成功导入image后
此时还不具备docker-composed up条件,有以下几个方面问题:
1. yml文件中卷路径修改
原配置:
volumes:
- d:/heygem_data/face2face:/code/data
其中d盘无法在distro内直接识别到,需要加上挂载头,即:
volumes:
- /mnt/d/heygem_data/face2face:/code/data
注意:face2face这个路径是不能修改的!因为前后端都通过此路径实现数据交互。
2. 端口转发配置
端口转发需手动配置,直接访问127.0.0.1:8383是不行的,不过distro内执行:
hostname -I
此命令返回(记为<WSL-IP>)第一个地址加上端口号可以正常与后端交互,于是需要进行端口转发,管理员权限:
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8383 connectaddress=<WSL-IP> connectport=8383
此后即可通过127.0.0.1:8383访问后端。
总结
新版本dockerdesktop确实极大地减少了繁琐的人工操作,将其更新至最新版能避免大多数问题。
更多推荐

所有评论(0)