简介:本文将介绍如何为Docker容器配置GPU驱动,以便在容器内使用GPU资源。我们将介绍早期的方法、nvidia-docker1.0和nvidia-docker2.0的安装和使用,以及一些额外的准备工作。
在早期的时候,没有专门为Docker设计的GPU驱动,如nvidia-docker,我们需要在容器内重新部署一遍nvidia GPU驱动。同理,其他设备如果想在容器里使用,也可以采用在容器里重新安装一遍驱动解决。
随着nvidia-docker的发布,这一问题得到了解决。nvidia-docker是英伟达公司专门为Docker容器使用nvidia GPU设计的工具,它通过把宿主机GPU驱动文件映射到容器内部使用,以解决Docker容器中GPU的问题。对于nvidia-docker1.0,我们需要通过tensorflow生成GPU驱动文件夹;对于nvidia-docker2.0,它对nvidia-docker1.0进行了很大的优化,不用再映射宿主机GPU驱动了,直接把宿主机的GPU运行时映射到容器即可。
但是,在配置Docker GPU驱动之前,我们需要进行一些额外的准备工作。首先,我们需要确保宿主机上已经安装了Nvidia显卡驱动。推荐从Nvidia官网下载脚本进行安装,这样可以方便快捷地安装和卸载驱动,且适用于各种Linux发行版,如CentOS、Ubuntu等。同时,由于NVIDIA Telsa GPU的Linux驱动在安装过程中需要编译kernel module,我们需要提前安装gcc和编译Linux Kernel Module所依赖的包,例如kernel-devel-$(uname -r)等。
安装好Nvidia显卡驱动后,我们可以开始安装Docker。首先需要启动一个容器,然后使用以下命令安装nvidia-docker:
RUN wget -P /usr/local/bin https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.bin
RUN chmod +x /usr/local/bin/nvidia-docker*.amd64.bin
RUN /usr/local/bin/nvidia-docker*.amd64.bin
RUN apt-get update && apt-get install -y nvidia-docker2 && apt-get clean
以上命令将分别安装对应版本的nvidia-docker。其中,wget用于下载二进制包,chmod +x添加可执行权限,而*.amd64.bin则用于执行二进制包以完成安装。对于nvidia-docker2.0,我们使用apt-get命令来更新、安装和清理依赖包。
完成以上步骤后,我们就可以在Docker容器中使用GPU了。需要注意的是,在使用GPU时需要确保宿主机上的GPU资源足够,否则可能会出现资源不足的问题。