我正在使用 docker 来启动隔离的应用程序。我的应用程序将使用 CUDA 库进行 GPGPU 计算。我正在考虑构建一个安装了 cuda 的图像,但这会使它变得太大。我也不确定 CUDA 显示驱动程序安装是否会在 docker 映像上成功完成。
更好的方法是与容器共享机器上的 CUDA 库,有没有办法做到这一点?
谢谢你,普雷迪普。
我正在使用 docker 来启动隔离的应用程序。我的应用程序将使用 CUDA 库进行 GPGPU 计算。我正在考虑构建一个安装了 cuda 的图像,但这会使它变得太大。我也不确定 CUDA 显示驱动程序安装是否会在 docker 映像上成功完成。
更好的方法是与容器共享机器上的 CUDA 库,有没有办法做到这一点?
谢谢你,普雷迪普。
我会从使用开始
docker run --privileged ubuntu -ti --rm bash
--privileged 是一把大锤子,但给你一个拥有全功率的容器:)
如果您可以将驱动程序作为卷安装在您的主机上,那么您可以通过安装它直接从容器内与它通信docker run -v hostdir:containerdir:rw
(请参阅运行文档)
如果您没有将设备安装在容器外,那么我怀疑直接与您的显卡对话,即使通过共享库,也无法使用标准 Docker 配置工作,因为 docker 中的默认 LXC 配置排除sys_rawio
了安全性和可移植性原因。
请参阅lxc_template.go文件以获取默认删除的功能列表。