如何在 Docker 1.8 版本中设置命令来利用英伟达 GPU 资源?
时间: 2024-10-12 13:05:33 浏览: 38
在Docker 1.8版本及之前,由于容器技术尚未原生支持GPU资源分配,如果你想让一个容器利用NVIDIA GPU,你需要额外做一些工作。首先,你需要创建一个包含NVIDIA驱动和CUDA工具包的镜像。然后,在运行容器时,你可以通过挂载设备文件、环境变量等方式间接使用GPU。
以下是基本步骤:
1. **创建基于NVIDIA镜像的基础镜像**:
- 下载并安装NVIDIA Docker的守护进程`nvidia-docker`,可以从NVIDIA官方GitHub仓库获取。
- 安装NVIDIA驱动和CUDA工具包,比如在Ubuntu上:
```
RUN apt-get update && apt-get install -y nvidia-cuda-toolkit
```
2. **配置NVIDIA环境**:
- 添加环境变量到你的Dockerfile或docker run命令中:
```
# Dockerfile示例
ENV NVIDIA_VISIBLE_DEVICES all
```
这行命令告诉NVIDIA显卡应该可见。
3. **启动容器时指定GPU**:
- 使用`nvidia-docker run`代替标准的`docker run`命令:
```bash
nvidia-docker run --gpus all --rm <your-image-name> your-command
```
或者在Dockerfile中:
```Dockerfile
FROM your-image-name
CMD ["your-command"]
RUN echo "nvidia.dri.mode=1" > /etc/X11/xorg.conf.d/90-nvidia.conf
```
注意这里`--gpus all`表示所有可用的GPU都会被映射给容器。
4. **确认GPU使用**:
- 运行容器后,可以查看容器内的GPU使用情况,例如在Python中使用`nvidia-smi`命令。
重要提示:这个过程需要NVIDIA Docker守护进程的支持,并且不是所有的Docker镜像都直接兼容NVIDIA GPU,所以在开始前,确保你的基础镜像已经进行了相应的适配。
阅读全文