nvidia-docker深度学习环境配置

1.创建容器

docker run -it --gpus all --ipc=host -p 8889:8888 -p 8022:22  -v /home/lyy/storage/327_new/gzh:/data/gzh --name Pol_NAS nvidia/cuda:11.1.1-cudnn8-devel-ubuntu18.04 /bin/bash

(上述没有使用端口映射)

-it:进入交互模式,启动bash
--gpus all:宿主机全部GPU可供容器使用
--ipc=host:容器共享宿主机内存
-p 8889:8888 -p 8022:22 :端口映射,主要是两个目的:

  • 通常我们需要安装jupyter notebook进行处理,其默认为容器的8888端口,将它映射到宿主机8889端口,
  • 将ssh服务的22端口映射到宿主机的8022端口,之后可通过vscode访问到服务器上运行的镜像环境

-v /home/用户名/hhd:/workspace:深度学习框架的docker镜像都默认带有/workspace目录,可实现和宿主机的指定目录(我把它设置为之前机械硬盘挂载的目录)进行文件共享
--name:对容器命名
nvidia/cuda:11.1.1-cudnn8-devel-ubuntu18.04:REPOSITORY:TAG

参考:https://blog.csdn.net/qq_16380083/article/details/126023774

2.查看cudnn

root@/usr/local/cuda/include# whereis cudnn
cudnn: /usr/include/cudnn.h

查看版本

cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2

发现啥也没有,查看.h文件具体内容,发现版本信息在cudnn_version.h文件中

cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR

#define CUDNN_MAJOR 8
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#版本为cudnn8

python安装

参考:https://blog.csdn.net/weixin_44105042/article/details/127087760

默认安装在了 /usr/local/bin,而容器的PATH为 /usr/bin
在这里插入图片描述
需要添加环境变量

PATH=$PATH:$HOME/bin:/usr/local/bin

自动管理

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2

选择需要的版本即可

> sudo update-alternatives --config python3

  Selection    Path                      Priority   Status
------------------------------------------------------------
* 0            /usr/local/bin/python3.8   2         auto mode
  1            /usr/bin/python3.6         1         manual mode
  2            /usr/local/bin/python3.8   2         manual mode

3.问题

1.bash: vi: command not found

因为在docker中没有安装对应vi或vim,只需:
apt-get update
apt-get install vim

2.安装anaconda3报错

subprocess.CalledProcessError: Command 'lsb_release -a' returned non-zero exit status 1.
[15616] Failed to execute script entry_point

解决:

先查找 lsb_release文件,可能需要再加上 sudo
find / -name lsb_release
找到后删除
rm -rf /usr/bin/lsb_release

3.安装好anaconda3后报错bash: conda: command not found
编辑.bashrc

vim ~/.bashrc

在文末添加安装路径,如果不知道可以使用find / -name anaconda3查找文件路径

export PATH=~/home/anaconda3/bin:$PATH

更新环境变量(必须)

source ~/.bashrc

你可能感兴趣的:(docker,深度学习,容器)