Vagrant配置与Jupyter notebook远程访问设置

2017-02-15 blog

我一直都想将开发环境转移到一个虚拟环境中,这样今后切换笔记本之类的成本会低很多,而且宿主机也能干净很多。之前尝试过直接用VirtualBox安装桌面版的ubutun,但又忍不住安装可视化界面,导致虚拟机占用很多内存和资源,配置上也相对麻烦。而vagrant则基于文件配置,可以很方便的挂上自己的历史开发文件夹,接上终端就可以在linux下运行,而且占用资源很少,现在的8g内存也能很好的满足需求了。当然,目前还没跑大数据,不然估计分配的1G内存是不够用的。

1.安装与配置vagrant

首先安装VirtualBox ,然后安装vagrant

安装往后,进入配置阶段:

  • 创建一个文件夹,比如 vm_vag
  • 在cmd命令窗口进入这个文件夹,初始化:

    $vagrant init  //初始化,创建一个Vagrantfile的配置文件。
    $vagrant box add {box_name} //添加一个box
    

    添加一个box,box_name为box的标识,在box的官方网站上找到的box,比如这个ubuntu box,可以直接输入命令:

    $vagrant box add ubuntu/trusty64
    

    在vm_vag的目录下,编辑Vagrantfile文件,

    Vagrant.configure("2") do |config|
        config.vm.box = "ubuntu/trusty64"
    end
    

    其实以上3步可以直接这么操作:

    $vagrant init ubuntu/trusty64
    

    然后接下来就是启动虚拟机了。

    $vagrant up //启动虚拟机
    $vagrant ssh //ssh到虚拟机
    

    在这里推荐下babun,window下好用的shell工具。
    配置其他的共享文件夹

    Vagrant.configure("2") do |config|
    # other config here
    
    config.vm.synced_folder "src/", "/srv/website"
    end
    

    配置网络映射

    Vagrant.configure("2") do |config|
    # ...
    config.vm.network "forwarded_port", guest: 80, host: 8080
    end
    

2.远程访问jupyter notebook配置

// 创建配置文件
$ jupyter notebook --generate-config
//创建输入密码的hash值,并自动写入到配置文件中;
$ jupyter notebook password
Enter password:  ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json

//编辑配置文件
$ vim ~/.jupyter/jupyter_notebook_config.py

---------------
//配置文件的内容如下:
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha1:e6720381fa03:7fe8ca<your hash password>'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888  //根据自己的情况指定端口

配置完后,在vagrant中映射下8888端口,你就能愉快的在浏览器里面访问jupyter notebook了。

Comments
Write a Comment