wsl2启动jupyter并提供对外访问


在WSL2中启动jupyter后,在本机可以直接使用localhost:port访问。
但是即使对jupyter配置了外部访问,外网设备也无法正常访问,此时需要做一个端口转发。

写入WSL2的ip到Windows的hosts

将下述文件保存在wsl2的用户根目录下,文件名为.export_ubuntu_localhost

#!/bin/bash
# 获取wsl2的IP地址
ipaddr=`ifconfig eth0 | grep -m 1 "inet\ " | awk '{print $2}'`
# 删除hosts中已经存在的域名记录ubuntu.localhost
sed -i '/ubuntu.localhost/d' /mnt/c/Windows/System32/drivers/etc/hosts
# 新增最新的域名记录ubuntu.localhost
echo "$ipaddr ubuntu.localhost" >> /mnt/c/Windows/System32/drivers/etc/hosts

Windows新增端口转发

netsh interface portproxy add v4tov4 listenport=8888 listenaddress=0.0.0.0 connectport=8888 connectaddress=ubuntu.localhost
netsh interface portproxy show all
netsh interface portproxy delete v4tov4 listenport=8888 listenaddress=0.0.0.0

配置启动jupyter的别名

打开用户根目录下的.bashrc文件,在最下方追加一下命令

# 快速启动jupyter-lab
alias lab='conda activate torch_gpu;source .export_ubuntu_localhost;jupyter-lab'

每次登录后,直接执行lab


文章作者: Hiper
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Hiper !
  目录