深度学习开发环境-Docker镜像开发-含cuda-vnc-anaconda-vscode-beyondcompare

1 构建过程

可直接跳过,看使用方法。
dockerfile地址位于github,请整个clone。

前提

cuda10.1的镜像要求宿主机的dirver最小为418.39;cuda10.0的镜像要求宿主机的dirver最小为410.48

在docker里面装cuda提示

在容器中装cuda+driver.run,docker机制不允许driver安装成功,只能使用宿主机driver;

在容器中只装cuda虽然可以成功,但是容器中的cuda调用不到宿主机中的dirver,缺少中间件;

只能以nvidia/cuda镜像为基础开发想要的docker镜像,nviadia/cuda几种类型:

  • base:从CUDA 9.0开始,包含部署预建CUDA应用程序的最低要求(libcudart)。如果要手动选择要安装的CUDA软件包,请使用此映像。【虽然自己装cuda,但也是nviadia/cuda镜像】
  • runtime:base通过添加CUDA工具包中的所有共享库来扩展图像。
    如果您具有使用多个CUDA库的预构建应用程序,请使用此映像。
  • devel:runtime通过添加编译器工具链,调试工具,标头和静态库来扩展图像。使用此映像可从源代码编译CUDA应用程序。

可以装个base版nviadia/cuda镜像,再利用conda装cuda,例如 conda install cudnn=7.6.5 cudatoolkit=10.0.130

2 lucky:cuda9.0-cudnn7.6.4-devel-ubuntu16.04-vnc

镜像Build

git clone https://github.com/luckyluckydadada/Lucky-docker.git
cd Lucky-docker 
docker build -t lucky:cuda9.0-cudnn7.6.4-devel-ubuntu16.04-vnc -f Dockerfile-cuda9.0 .

容器说明

1 默认已经开启vnc,webvnc,可自行修改~/.vnc/config配置和vncpasswd,默认lucky

2 已经配置好sources.list、.bashrc、.bash_aliase、.pip,位于~/bashrc,看情况使用

3 nvcc --version 【这才是docker里的cuda版本】;nvidia-smi【这是宿主机的cuda版本】;cat /usr/include/cudnn.h,nvidia/cuda的cudnn都不在/usr/local/cuda/目录

4 已经安装软件:vscode、bcompare、vim、git、gedit、gcc、cmake、anaconda

容器使用案例

nvidia-docker run --runtime=nvidia -u root -it \
       -p 30011:8888 -p 30012:6006 -p 30013:6901 -p 30014:5901 \
       --name 容器名1 \
       -v 本地挂载目录:/headless/ld \
       lucky:cuda9.0-cudnn7.6.4-devel-ubuntu16.04-vnc  /bin/bash

3 lucky:cuda10.0-cudnn7.6.5-devel-ubuntu18.04-vnc

镜像Build

git clone https://github.com/luckyluckydadada/Lucky-docker.git 
cd Lucky-docker
docker build -t lucky:cuda10.0-cudnn7.6.5-devel-ubuntu18.04-vnc -f Dockerfile-cuda10.0 .

容器说明

1 默认已经开启vnc,webvnc,可自行修改~/.vnc/config配置和vncpasswd,默认lucky
2 已经配置好sources.list、.bashrc、.bash_aliase、.pip,位于~/bashrc,看情况使用
3 nvcc --version 【这才是docker里的cuda版本】;nvidia-smi【这是宿主机的cuda版本】;cat /usr/include/cudnn.h,nvidia/cuda的cudnn都不在/usr/local/cuda/目录
4 安装软件:vscode、bcompare、vim、git、gedit、gcc、cmake、anaconda

容器使用案例

nvidia-docker run --runtime=nvidia -u root -it \
-p 30021:8888 -p 30022:6006 -p 30023:6901 -p 30024:5901 \
--name 容器名2 \
-v 本地挂载目录:/headless/ld \
lucky:cuda10.0-cudnn7.6.5-devel-ubuntu18.04-vnc /bin/bash

4 cuda10.2 & cuda10.1

由于目前我的机器driver没有进行升级,所以无法测试10.1和10.2情况,但是应该同理可用。

build -t lucky:cuda10.1-cudnn7-devel-ubuntu18.04-vnc -f Dockerfile-cuda10.1 .

build -t lucky:cuda10.2-cudnn7-devel-ubuntu18.04-vnc -f Dockerfile-cuda10.2 .

nvidia-docker run --runtime=nvidia -u root -it  -p 30031:8888 -p 30032:6006 -p 30033:6901 -p 30034:5901 --name lucky3 -v 本地:/headless/ld lucky:cuda10.1-cudnn7-devel-ubuntu18.04-vnc /bin/bash

nvidia-docker run --runtime=nvidia -u root -it -p 30041:8888 -p 30042:6006 -p 30043:6901 -p 30044:5901 --name lucky4 -v 本地:/headless/ld lucky:cuda10.2-cudnn7-devel-ubuntu18.04-vnc /bin/bash
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 VSCode 中使用 Nvidia-docker 环境,您需要遵循以下步骤: 1. 首先,您需要在您的系统上安装 Nvidia 驱动程序和 Docker。 2. 然后,您需要安装 Nvidia-docker。您可以从官方网站上获得有关如何安装 Nvidia-docker 的详细说明。 3. 确保您已经启动了 Nvidia-docker,可以通过运行以下命令来验证: ``` sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi ``` 如果 Nvidia-docker 正常工作,您应该能够看到类似于以下输出: ``` +-----------------------------------------------------------------------------+ | NVIDIA-SMI 455.23.05 Driver Version: 455.23.05 CUDA Version: 11.1 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 GeForce GTX 108... On | 00000000:01:00.0 Off | N/A | | 23% 33C P8 5W / 250W | 0MiB / 11178MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ ``` 4. 安装 VSCode 的插件“Remote-Containers”(可在 VSCode 商店中找到)。 5. 在 VSCode 中,打开您的项目,然后按下 `F1` 键,输入“Remote-Containers: Open Folder in Container”,然后选择“From Dockerfile”选项。 6. 在接下来的界面中,选择您的 Dockerfile 文件,然后 VSCode 将自动创建一个新的容器,并将其配置为使用 Nvidia-docker。 7. 现在,您可以在 VSCode 中使用 Nvidia-docker 环境了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值