我有一个 GPU 应用程序,它在图像构建阶段进行单元测试。
使用 Docker 19.03,可以使用 docker run --gpus all
指定 nvidia 运行时但我还需要访问 docker build
的 GPU因为我做单元测试。我怎样才能实现这个目标?
对于使用 nvidia-docker2 的旧版本 docker,无法在构建阶段指定运行时,但您可以将默认运行时设置为 nvidia,这样 docker build 就可以正常工作。我可以在不再需要 nvidia-docker 的 Docker 19.03 中做到这一点吗?如果是这样,如何?
最佳答案
您需要使用 nvidia-container-runtime如 docs 中所述:“这也是在 docker build 期间访问 GPU 的唯一方法”。
Ubuntu 的步骤:
sudo apt-get install nvidia-container-runtime
{
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia"
}
sudo systemctl restart docker
docker build -t my_image_name:latest .
关于使用 nvidia 运行时构建 docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59691207/