【超详细:从头开始的windows系统下的docker安装,在docker中建立ubuntu系统并配置pytorch深度学习环境,实现windows系统下访问ubuntu中的jupyterlab】
未知宇宙 2024-06-19 12:07:02 阅读 94
【超详细】从头开始的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.listsed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.listapt-get cleanapt-get update
2、安装配置ssh的必要工具
apt updateapt install vimapt install openssh-clientapt install openssh-serverapt 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 startps -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.runsh 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 pathexport 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.debdpkg -i cudnn-local-repo-ubuntu2004-9.0.0_1.0-1_amd64.debcp /var/cudnn-local-repo-ubuntu2004-9.0.0/cudnn-*-keyring.gpg /usr/share/keyrings/apt-get update#cuda11apt-get -y install cudnn-cuda-11#cuda12apt-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.shbash 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 ~/.bashrcconda -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 pippip 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 = Truec.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 = Truec.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 时设置的密码)
六、结束语
到这里整个基本的环境配置就完成了,就可以为所欲为的进行本领展示了。希望大家都能轻松愉快的完成配置。
上一篇: nginx中try_files $uri $uri/ /index.html的作用 和 $uri的含义
本文标签
实现windows系统下访问ubuntu中的jupyterlab】 在docker中建立ubuntu系统并配置pytorch深度学习环境 【超详细:从头开始的windows系统下的docker安装
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。