昨天晚上再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
网友评论