jupyter notebook远程访问

昨天晚上再VMware虚拟机中安装了一个Ubuntu,并启动jupyter notebook,准备在Windows宿主机上直接访问jupyter notebook,免去每次打开虚拟机编写的麻烦。然而,jupyter notebook在虚拟机中安装之后仅能在虚拟机内部使用,而在宿主机中却访问不到。

端口映射

在使用NAT上网的时候,虚拟机内的局域网和宿主的局域网是不同的网段。虚拟机可以访问宿主机,但是宿主机不能反向访问虚拟机。原因是宿主机感知不到虚拟机中的网络存在。

VMware给我们提供了一个端口映射的功能,可以帮助我们访问虚拟机中的端口,例如下图,我配置了8080和8888两个端口的映射。


image.png

关闭Ubuntu防火墙

Ubuntu默认是开启防火墙的,任何服务,都无法被其他电脑访问。jupyter也是一个提供http的服务的服务器,想要在宿主机上也访问jupyter,那就要求Ubuntu关闭防火墙,至少是允许jupyter被访问。

sudo ufw disable

安装juypter

sudo apt-get install python
pip install ipython
pip install jupyter

配置jupyter

生成配置文件

jupyter notebook --generate-config

修改默认配置文件

c.NotebookApp.ip='0.0.0.0' # 就是设置所有ip皆可访问
c.NotebookApp.open_browser = False # 禁止自动打开浏览器

启动jupyter

jupyter notebook

宿主机访问

在宿主机中访问localhost:8888即可访问虚拟机中的jupyter notebook

image.png

推荐阅读更多精彩内容