直接回答:容器里要用 GPU,宿主机只要装好显卡驱动,再装 NVIDIA Container Toolkit 并执行 nvidia-ctk runtime configure 把 nvidia 运行时装进 Docker,之后加 --gpus all 启动容器即可。
以下经验来自ubuntu下新装系统,要求需要安装好显卡驱动,不需要安装cuda
1. 安装Docker,按照官方文档安装即可
2. 安装NVIDIA容器工具包(NVIDIA Container Toolkit)
- 配置生产环境
1 | curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ |
另外还可以配置仓库使用实验性包
1 | sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list |
- 从仓库中更新包列表
1 | sudo apt-get update |
- 安装NVIDIA容器工具包
1 | sudo apt-get install -y nvidia-container-toolkit |
关于其他安装可以参考官方文档
3.配置Docker
配置容器运行时
1
sudo nvidia-ctk runtime configure --runtime=docker
重启Docker守护进程
1 | sudo systemctl restart docker |
4.运行容器
1 | sudo docker run -e TZ=Asia/Shanghai --runtime=nvidia --gpus all --name use_gpu ubuntu |
如果宿主机只装了驱动,那么可以使用CUDA镜像进行开发
这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。