【超详细:从头开始的windows系统下的docker安装,在docker中建立ubuntu系统并配置pytorch深度学习环境,实现windows系统下访问ubuntu中的jupyterlab】

【超详细】从头开始的windows系统下的docker安装,在docker中建立ubuntu系统并配置pytorch深度学习环境,实现windows系统下访问ubuntu中的jupyterlab

一、windows系统下的docker安装

提示:安装docker将使用WSL2。参照了[Windows安装Docker 容器教程]与[Windows安装docker]进行技术梳理。(https://zhuanlan.zhihu.com/p/678736848)(https://blog.csdn.net/hjjshua/article/details/130520266)

1、windows环境配置
通过控制面板\程序和功能\启用或关闭windows功能,启动适用于Linux的Windows子系统和虚拟机平台。
在这里插入图片描述
重启电脑。
设置WSL默认为WSL 2

wsl --set-default-version 2

2、安装docker
从docker官网下载安装包Docker官网下载地址
在这里插入图片描述
下载完成后,获得Docker Desktop Installer.exe安装包。双击运行Docker Desktop Installer.exe,一路点击下一步即可,别额外操作。(最后一定要勾上WSL 2 代替Hyper-V,默认也是勾上的。)
启动 Docker Desktop,验证 Docker 是否正常运行。
在cmd或者PowerShell下执行命令验证 Docker 是否正常运行:

docker -v
docker compose version
docker run hello-world

在这里插入图片描述

docker images

可以看到列表中已经存在hello-world的镜像。

二、创建基于Ubuntu:20.04的docker容器

提示:参照[docker创建Ubuntu,Ubuntu创建桌面环境,本机使用VNC连接](https://blog.csdn.net/laoxue123456/article/details/131259352?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-8-131259352-blog-107593330.235%5Ev43%5Epc_blog_bottom_relevance_base7&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-8-131259352-blog-107593330.235%5Ev43%5Epc_blog_bottom_relevance_base7&utm_relevant_index=13)

打开powershell输入以下命令创建容器

docker run -tid --gpus all -p 3316:22 -p 5900:5900 -p 5901:5901 -p 8889:8888 --name container_name -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all --privileged=true ubuntu:20.04

意思是创建一个可以全整使用windows的GPU的ubuntu 20.04的容器,且给了三个转换接口(即在windows的3316对应Ubuntu的22、windows的8889对应ubuntu的8888,用处就在于配置ssh和jupyterlab的时候有大用)

创建成功后可以通过docker桌面看到容器和镜像。
也可以通过docker ps来查看运行中的容器。

docker ps

在这里插入图片描述
使用nvidia-smi命令验证时候使用到了宿主机的GPU资源。

nvidia-smi

在这里插入图片描述
在终端输入命令,进入ubuntu控制台。

docker exec -it container_name /bin/bash

三、配置ubuntu环境

1、在控制台中,更换ubuntu的下载源为阿里源,方便提升下载速度。

sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
apt-get clean
apt-get update

2、安装配置ssh的必要工具

apt update

apt install vim
apt install openssh-client
apt install openssh-server
apt install net-tools

注:在运行apt install openssh-server的时候,可能会让选择时区,这里输入6选择Asia,再输入70选择Shanghai即可。

3、编辑sshd_config文件

vim /etc/ssh/sshd_config

进入sshd_config文件,按a进入编辑状态,在末尾添加PermitRootLogin yes,然后按Esc退出编辑状态,输入:wq退出文件。
在这里插入图片描述

5、给root用户设置密码

passwd root

注:输入的密码不会显示出来,输入密码后按回车即可。
6、启动并查看ssh

service ssh start
ps -e|grep ssh

7、设置ssh开机启动

vim /root/.bashrc
# 在.bashrc末尾添加如下代码,方法同编辑sshd_config文件。
service ssh start

四、配置用于深度学习的conda环境

提示:参照[新装Ubuntu系统基本环境安装配置(conda)](https://blog.csdn.net/Eyesleft_being/article/details/120138519?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171263848316800186516264%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171263848316800186516264&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-120138519-null-null.142%5Ev100%5Epc_search_result_base2&utm_term=ubuntu%E9%85%8D%E7%BD%AEconda%E7%8E%AF%E5%A2%83&spm=1018.2226.3001.4187)

在之前创建ubuntu容器的时候已经配置好了显卡驱动(即利用windows宿主机的显卡驱动)
这里直接安装cuda和cudnn

1、安装cuda
通过cuda版本显卡驱动版本对应关系cuda版本显卡驱动版本对应关系可以参考自身显卡驱动对应的cuda版本,从cuda下载地址找到并进行下载安装。(注:我的显卡是4090,为了和pytorch对应,选择的是12.1版本)
在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
sh cuda_12.1.1_530.30.02_linux.run

进入安装界面后,选continue,然后输入accept,回车。在选项卡中,直接移动到选择Install即可(低版本选项卡中可能会有Driver一项,我们已有显卡驱动,将该项取消掉)。
在这里插入图片描述

若出现Failed to verify gcc version. See log at /var/log/cuda-installer.log for details.请重新安装gcc和g++,再运行安装程序。

apt install gcc g++
sh cuda_12.1.1_530.30.02_linux.run

命令跑完后,打开/usr/local应该是有cuda-12.1的文件夹。

2、配置cuda环境
配置cuda的系统路径,首先打开家目录下的.bashrc文件

vim ~/.bashrc

在文件的末尾添加以下内容

# added cuda path
export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

注意把cuda-12.1改成自己的版本,操作方法同编辑sshd_config文件。

保存并关闭文件,完成配置。更新环境:

source ~/.bashrc
#输入nvcc -V命令查看是否成功安装
nvcc -V

3、安装cudnn
cuDnn下载地址上下载对应版本的cudnn
在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cudnn/9.0.0/local_installers/cudnn-local-repo-ubuntu2004-9.0.0_1.0-1_amd64.deb
dpkg -i cudnn-local-repo-ubuntu2004-9.0.0_1.0-1_amd64.deb
cp /var/cudnn-local-repo-ubuntu2004-9.0.0/cudnn-*-keyring.gpg /usr/share/keyrings/
apt-get update
#cuda11
apt-get -y install cudnn-cuda-11
#cuda12
apt-get -y install cudnn-cuda-12
#其他版本
apt-get -y install cudnn

根据自己的cuda版本情况来安装,执行完上述命令后,cuDNN 就安装好了。
通过nvcc –V命令来检查,显示Cuda compilation tools, release 12.1, V12.1.105则表示成功。

4、安装conda
这里是安装miniconda。

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

安装过程中开始按回车,一直按住回车直到输入yes。遇到让更改路径可以不更改,直接回车。然后遇到问题输入yes,回车。
在这里插入图片描述
在这里插入图片描述
然后把anaconda添加到用户环境变量中(对应conda的bin文件位置)。vim ~/.bashrc打开配置文件,在末尾加上下面这句话。

vim ~/.bashrc
#在文件末尾添加环境变量,并保存退出,方法同编辑sshd_config文件
export PATH="/root/miniconda3/bin:$PATH"

退出后更新一下,并使用conda -V检查时候安装成功。

source ~/.bashrc
conda -V

5、安装pytorch
从pytorch官网pytorch官网找到对应版本的pytorch
在这里插入图片描述
注:这也是我为什么装cuda12.1的原因,可以适配pytorch。

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

至此,深度学习环境配置完毕。其余的python包根据需求自行下载。

五、配置jupyter lab

1、升级pip,通过pip安装jupyter lab

python -m pip install --upgrade pip
pip install jupyterlab

2、安装好jupyerlab后,生成配置文件

jupyter lab --generate-config

在这里插入图片描述
生成配置文件的/root/.jupyter/jupyter_lab_config.py

3、配置jupyter server 的密码

jupyter server password
# 接着输入密码

生成配置文件/root/.jupyter/jupyter_server_config.json

4、编辑配置文件的/root/.jupyter/jupyter_lab_config.py

mkdir /home/lab #创建一个专门放jupyter代码的根目录
vim /root/.jupyter/jupyter_lab_config.py

在文件内添加:

# 允许通过任意绑定服务器的ip访问
c.NotebookApp.allow_root = True
c.ServerApp.ip = '0.0.0.0'
 # 用于访问的端口
c.ServerApp.port = 8888  #注意这里与前面开出的容器端口要一致
c.ServerApp.allow_origin = '*'
 # 不自动打开浏览器
c.ExtensionApp.open_browser = False
 #允许远程访问
c.ServerApp.token = ''
c.ServerApp.allow_remote_access = True
c.AerverApp.root_dir = '/home/lab'

保存并退出,打开jupyter lab

jupyter lab

在这里插入图片描述
可以看到已经开始运行了,ubuntu上的访问接口为:http://127.0.0.1:8888/lab。之前我们设置了8889:8888,那么在windows的访问接口则为8889。
在windows浏览器中输入http://127.0.0.1:8889/lab可访问到jupyterlab中进行愉快代码编写。(遇到让输入密码则输入配置jupyter server 时设置的密码)
在这里插入图片描述

六、结束语

到这里整个基本的环境配置就完成了,就可以为所欲为的进行本领展示了。希望大家都能轻松愉快的完成配置。

  • 19
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值