美文网首页
nvidia-docker gpu环境搭建

nvidia-docker gpu环境搭建

作者: chaos_chen | 来源:发表于2019-03-06 14:54 被阅读0次

    docker gpu环境搭建

    前言

    搭建GPU的开发环境需要安装nvidia的驱动、cuda、cudnn等,还要安装tensorflow、pytorch、mxnet等框架,并且驱动版本和框架版本需要相统一,如tensorflow1.9的版本需要对用cuda9.0,如果要升级tensorflow,cuda也要做相应的升级。每次在新机器上部署环境都费时费力,因此急需一套docker来快速移植。

    安装nvidia-docker

    普通的docker环境不支持gpu,因此我们需要一个nvidia-docker的版本。其结构原理如图:

    nvidia-docker.png

    我们可以下载官方的带驱动的镜像,这样我们就只需要在容器中安装cuda toolkit就行了。

    • 首先我们需要选择安装nvidia-docker的版本,查询可用版本:
    apt-cache madison nvidia-docker2 nvidia-container-runtime
    
    • 在列表中我选择18.09.2的版本进行安装
      nvidia-docker2和nvidia-container-runtime的版本最好相同
    sudo apt-get install -y nvidia-docker2=2.0.3+docker18.09.2-1  nvidia-container-runtime=2.0.0+docker18.09.2-1
    
    • 装好后测试驱动
      nvidia的官方镜像有很多,比如我使用cuda-9.0的版本,这样测试:
    sudo nvidia-docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
    
    • 在官方镜像上装其他cuda-toolkit和其他环境
      我利用有驱动的官方镜像安装其他环境,首先把docker跑起来
    sudo nvidia-docker run -it  nvidia/cuda:9.0-base
    

    接下来,完善此镜像。安装完整的cuda-toolkit:
    官方的镜像不完整,这一步很关键

    apt install cuda-toolkit-9-0
    
    • 然后根据自己的需要安装其他程序,比如我安装了python、pip、tensorflow、pytorch等。

    • 安装好自己的环境后,退出,保存:
      commit后面是ps出来的容器ID,后面跟自己想要保存的名字,我这里是chaos_gpu

    sudo nvidia-docker ps -a
    sudo nvidia-docker commit adaf25712ec8 chaos_gpu
    
    • 注册仓库上传很麻烦,我这里直接保存成文件
    docker save -o chaos_gpu_image chaos_gpu
    
    • 最后可以测试自己的程序了
      比如我的一个服务是需要开端口监听,docker里面监听80端口,把它映射到宿主机的8080端口上去
      宿主机就可以使用http://127.0.0.1:8080/进行访问了
    sudo nvidia-docker run -it -p 8080:80  chaos_gpu  your_bash
    

    相关文章

      网友评论

          本文标题:nvidia-docker gpu环境搭建

          本文链接:https://www.haomeiwen.com/subject/segtpqtx.html