以Docker部署IPythonIPython Notebook: 交互计算新时代。

by admin on 2018年10月5日

Nginx 反往代理 IPython

发三三两两种植艺术,一种植是使用官方的Nginx,另一样种是利用jwilder /
nginx-proxy,后同样种植办法更加简约和福利

系链接

方式1:nginx

  • 采用Nginx的官方镜像nginx

  • Nginx 配置文件
    ipython-server.conf

 map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
 }
server{
        listen 80;
        server_name note.everforget.com;
        location / {
                proxy_pass http://ipython:8888;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

立即间要留意一点是,ipython要采用websock因此而安排websocket,之前以这个题目查了长期。
proxy_pass http://ipython:8888; ipython与后面容器连接时的别名有关。

  • 运行Nginx容器

$ sudo docker run -d -p 80:80 --name nginx --link IPythonApp:ipython  -v `pwd`/config:/etc/nginx/conf.d  -v `pwd`/logs:/var/log/nginx nginx

IPython Notebook 可以一本万利地安排在犹有服务器或流行的云计算平台 (如Amazon
EC2,Windowns
Azure)
上,下面坐村办服务器也条例,介绍如何和远程服务器实现相互之间计算。

  • Docker

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 9999
-j ACCEPT

Docker 的基本概念

下文的操作主要涉及Docker的转几个知识点:

  • Docker 的镜像(image)、容器(container)、仓库(registerie)
  • Docker 的安装
  • Docker 的底蕴因此法
  • Docker的端口映射
  • Docker 数据卷
  • 链接容器

详见的音信可活动检索

~/.config/ipython/profile_nbserver 或
~/.ipython/profile_nbserver↩

图片 1

地方的命令会在本机开启 IPython Notebook
服务端,并以系统默认浏览器内开辟一个对准服务端的页面,该页面显示了装有保留的
Notebook。 如得新建 Notebook,可以点击New
Notebook按钮,或着以本地的文书一直拖入空白处,其中该公文就可以是编写好之
Python 程序文件 (.py),也得以是事先运行了之 Notebook 文件 (.ipynb)。

方式2:nginx-proxy

  • jwilder /
    nginx-proxy

  • 运行nginx-proxy 容器

docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
  • 运行ipython 容器

sudo docker run -d -e "VIRTUAL_HOST=ipython.everforget.com" --name IPython -p 8888:8888 -e "PASSWORD=xxxxxx" -e "USE_HTTP=1" -v /home/zhiyue/repos/ipython-notebook:/notebooks ipython/scipyserver

末放平张图:

图片 2

如此这般就足以随时通过web来采取python了。

以教学科研中之应用

Docker
详细概念好去search,简单的话即使是将以打包到一个器皿里之轻量级系统虚拟化服务

Save和Download的差在Save将文件存储在服务端所在的蕴藏位置,而Download则是储存于浏览器所当的积存位置。因此,当服务端运行在长途服务器上经常,如果要将
Notebook 存至地面,应运用Download。

部署IPython

人情的竞相计算平台一般都以命令行的方法和数分析者交互,即用户每输入一修语句,计算平台返回相应的结果。
虽然其当用户体验者开了多不遗余力,诸如自动命令补全,弹出帮助文档,命令历史记录等,但于上文提到的这些状况下,它们就是亮有些力不从心。IPython
Notebook的诞生,正弥补了传统计算平台的阙如,为上述现象提供了便捷直观的缓解方案。

知识点

  1. Docker 的基本概念
  2. 部署IPython 容器
  3. 应用Nginx 容器反向代理IPython

装完成后,须用 EPD 的 bin 目录添加至环境变量 PATH 中:

IPython Notebook
既是一个交互计算平台,又是一个笔录计算过程的「笔记本」。它由服务端和客户端两局部构成,其中服务端负责代码的解说及计算,而客户端负责和用户进行交互。
服务端可以运行在本机也得运作于长途服务器,包含负责运算的 IPython
kernel (与 QT Console 的 kernel 相同) 以及一个 HTTP/S 服务器
(Tornado)。
而客户端则是一个对服务端地址之浏览器页面,负责接受用户之输入并负责渲染输出。

IPython Notebook
既是一个彼此计算平台,又是一个笔录计算过程的「笔记本」。它由服务端和客户端两有的构成,其中服务端负责代码的说明和计算,而客户端负责和用户进行互动。
服务端可以运行在本机也得运作于远距离服务器,包含负责运算的 IPython
kernel (与QT
Console的
kernel 相同) 以及一个 HTTP/S 服务器
(Tornado)。
而客户端则是一个对服务端地址的浏览器页面,负责接受用户之输入并背渲染输出。

下载IPython 的镜像

官方Docker镜像地址,里面含5只镜像:

  • notebook
  • ipython
  • scipyserver
  • scipystack
  • nbvierer

大概说一下当下几乎个镜像的界别 ipython
是以上几乎单镜像的联名之到底镜像。notebook
提供了一个web的前端。scipystackipython的底蕴及设置了森科学计算的包(cython,h5py,matplotlib,numpy,pandas,patsy,scikit-learn,scipy,seaborn,sympy,yt),而scipyserver则在scipystack的功底及提供了web的前端。nbviewer则是nbviewer.ipython.org的实现
重复多详细信息请到GitHub上的docker-notebook
查看
选择scipystack镜像最简便易行,但是得下载的事物啊越加多。下文选择的呢是scipystack

$ sudo docker pull ipython/scipyserver

重多关于 Numpy
的技能只是参见我之技巧笔记↩

  • IPython Notebook

运用系统的保管理程序安装。

运行IPython 容器

sudo docker run -d --name IPythonApp -p 8888:8888 -e "PASSWORD=your password" -e "USE_HTTP=1" -v /home/zhiyue/repos/ipython-notebook:/notebooks ipython/scipyserver

剖析一下参数-d 是盖后台的计运行,--name 是容器的别名,-p
是端口映射,-e
是安环境变量,这里的环境变量PASSWORD安装成你协调之密码便足以了,USE_HTTP=1
意思是运用http,-v
是装数据卷,把宿主机的目录挂载到容器里,即使容器被删除,数据吧可以保存下去

ipython notebook –script

docker

要是未思量装套件,可以用系统自带的保管程序单独安装 IPython,比如当 Arch
下:

正文主要记录下Docker 在服务器部署IPython Note
应用之历程。比传统的配备方案果然简单轻松不掉。

在教学科研中之采取

参考

  • Docker 笔记 By
    枯木

  • [Docker] 快速建立 IPython Notebook
    環境

  • 在Docker下部署Nginx

  • IPython Notebook:
    交互计算新时代


更新日志:

  • 2015-6-8 添加配图
  • 2015-6-6 第一浅创作

IPython Notebook
是平种新兴之交互式数据解析及记录工具,它定义了同一种植新的计量文件格式,其中蕴涵了代码,代码说明与各一样步之计输出(数值或图片等),也就是说这一个文书完整记录了匡过程遭到的保有相关消息。此外,该公文还可放开网络视频,图片,LaTeX公式等众多称文本格式,实也彼此计算,记录思维,传播想之好下手。

本文的布局环境是Ubuntu 14.04

以此种植情况下,数据与测算资源都在地面机械上,需要首先以地头安装好
IPython,之后运行服务端:

创造私人关系:

总结

除此以外,还好依照网页还是 PDF
格式将眼前之盘算过程保存,缺陷是本这种方法展开保存下去的 Notebook
无法再为载入运行。保存方法吧点击Print View,这里会打开一个时
Notebook 的纯网页版本,这时可以拿其又键另存也网页保存,或者打印成 PDF
文件。

共享和下

第一创建一个称呼也nbserver的布局文件3:

用 IPython Notebook 写博客

Blogging with the IPython
notebook

同步回车即可。

ipython notebook –pylab inline

学术版可经过为 .edu
为后缀的邮箱地址申请。↩

入nbserver配置文件所在目录4并打开ipython_notebook_config.py,设置以下属性:

安装 Notebook

ipython notebook –profile=nbserver –certfile=/path/to/your/mycert.pem

安装
Notebook

-A OUTPUT -m state –state NEW -m tcp -p tcp –dport 9999 -j ACCEPT

自从源代码编译安装。

c = get_config()c.IPKernerlApp.pylab =’inline’c.NotebookApp.ip
=’*’c.NotebookApp.open_browser =Falsec.NotebookApp.password
=u’sha1:xxxx your hashed password’c.Notebook.App.port
=9999#而是要是为外端口

单元用让周转才能够生实际的演算,其中代码单元内之言辞为输入服务端内的
kernerl 进行演算,并打 kernel 内得输出结果显示在单元内,文本单元则透过
Markdown 渲染器渲染成相应的网页格式展现 (如图1)。

除开以上两种艺术,还好选于源代码安装,但这个方案比较复杂,需要考虑
IPython 的繁杂依赖关系,如 Numpy,Scipy,Qt 等。
这漫漫方案要慎重选择,因为光是 Numpy,Scipy
的安就会见被丁焦头烂额2。

bash ped-7.3.2-rh5-x86_64.sh -p /path/to/your/install_dir

由于 IPython Notebook
的好易用,已生公司将该作为讲解
Python
编程的新平台,更起教授将该看做数据解析课程的课平台,用它散发,收取作业,取得了对的法力
(见交互关链接7)。

IPython Notebook
的出现,弥补了民俗命令行式计算平台的多多供不应求,增强了交互式数据解析的用户体验,为彼此计算提供了相同新的行模式。此外,它所定义的平模仿计算记录格式大大便利了匡过程的传播和共享,借助于新兴之网页技术越发可以显得多样化的契合文本内容,成为连年数据解析以及先进网页技术的第一桥梁。由于以上博长,它就于以及科研与教学等重重切实可行状况中,再添加背后活跃开发社区的支持,它自然会于初时代下之并行计算领域崭露一片头角。

IPython Notebook:
交互计算新时代

安装登陆密码:

推介选用某个 Python 发行套件,比如Enthough Python Distribution
(EPD)或Python(x,y)。
这些发行套件中都含了常用之 Python 科学计算库,如
Numpy,Scipy,IPython,Matplotlib,Pandas
等,而且都是一键安装,非常方便快捷,省去了从源码安装之不在少数堵。下面介绍以
Linux 下安装 EPD。

倚 Ipython Notebook Viewer
提供的劳务,只待下一行代码,即可在博客中放到显示
Notebook:不足之处是急需手工安装宽度和高度为抱页面大小。下面是自己修的有关
Numpy 数组维度操作的一个
Notebook5:

切不要小看了这页面,首先,它几乎涵括了 QT Console
具有的全方位交互式功能,如代码高亮,自动补全,实时帮助,内嵌显示绘图结果等;其次,计算过程及结果可以好地保留也强格式,如默认的
JSON 格式,Python 脚本和 PDF
等;此外,借助Markdown及MathJax,用户可以测算过程被插详尽细致的叙说,甚至因叙为主,计算为辅,从而以其作为科技类文章做之家伙。

要么直接进 pylab 模式:

假定对嵌入式的显示方式不充满,可以用nbconvert工具将
.ipynb 文件转换成为 html 或 Markdown
格式,再放入网页遭到,详细经过要参见互动关链接6。

即可打开客户端。

另外,IPython Notebook
对长久以来困扰科研界的算计结果但更问题啊具有助,试想倘若研究者为要求用那个完整的计过程为
Notebook 的法公开出来,结果造假或者操控数据的可能必将大大缩减。

安装有 Python 发行套件。

有关链接

An HTML Notebook
IPython

当地运行

ipython notebook –pylab

剧本运行出错,需要对台本进行一些修改后继续运行,但不思量再次运行前曾施行了的语句。

使用 Notebook

ipython notebook

使用
Notebook

openssl req -x509 -nodes -days 10000 -newkey rsa:1024 -keyout mycert.pem
-out mycert.pem

因 IPython Notebook 服务端所在位置,可分为地面运行与长途运行两种情景。


EPD网站下载免费版或学术版1,之后运行下充斥好之公文:

IN [1]:fromIPython.libimportpasswdIN [2]: passwd()Enter
password:Verify password:Out[2]:’sha1:xxxxxxxxxxxxxxxxxxxxxxxxx’

IPython Cluster
Plugin

假使想以 Matplotlib 生成的图纸潜入网页内展示,则使用:

共享与应用

总结

上文已波及多次得将服务端放置远程服务器运行,这样发生多单好处:一是得免给物理空间的限制,在旁可以连续不断至服务器的场合办公,二是在客户端无需安装任何计算有关的软件,只需要一个浏览器即可,三是好采取服务器高效庞大的乘除资源,实现高性能计算。

长途运行

当应用 Python/IPython, R, Matlab
等工具进行批判性数据解析时,你是否常会赶上以下状况:

IPython Notebook on Windows
Azure

故底这长达命令运行服务端:

贪图1: 一段子 Notebook 的周转结果

简介

幸好由于 IPython Notebook
的利落易用,方便传播等特征,它现都受用来可重复数据解析,课程教学,博客写作等许多天地。
当然她还可以在重多更广阔的求实状况被,那些即使等着公来探讨了。
下文就以介绍如何设置和下 IPyhton
Notebook,并因实例来介绍她的强劲特性。

ipython profile create nbserver

PATH=/path/to/epd/bin:$PATH

每当新开辟的 Notebook 页面中,就可以拓展各类交互式计算任务。Notebook
由一个个底履单元构成,每个单元可以是如出一辙段落 Python
代码,也堪是均等段子描述性文本,这些文件可以使用 Markdown
语法,也可以插入LaTeX表达式,或者直接采用 HTML。
在单元上得一本万利地拓展删除,复制,粘贴,剪切,插入,分割,合并等操作。

本地运行

运 IPython Notebook 自定义的 .ipynb
文件可以方便地用好之盘算过程及他人共享,但是要要求对方也兼具 IPython
Notebook 才会查。为了突破就同范围,IPython 官方建立了IPython Notebook
Viewer网站,帮助在线渲染
.ipynb 文件。

于命令执行遭输入了许多报句子后,希望以其部分还是全保存至一个本子文件中以便记录计算过程。

NotebookCloud
Documentation

除外异说明,以下操作均于服务器端进行↩

意在将详细计算过程和结果以及旁人共享,以便与旁人讨论数解析步骤或让他人又而的结果。

为使 Notebook
正常干活,需在防火墙中开辟上面安装的端口。可以编辑/etc/sysconfig/iptables,在结尾一久REJECT语句前进入:

可使以下三种安装方案:

pacman -S ipython

长途运行

至于如何以 Amazon EC2 上加建筑 IPython
Notebook,可使StarCluster供的插件,或者NotebookCloud,详情请分别参考系链接3和4。此外,Windows
Azure 官方也供了一个于 Azure 上加码建筑 Notebook
的科目,见交互关链接5。

export PATH

然参照我平年前写的章:在 fedora 15 下起源代码安装 numpy 与
scipy。↩

每当拓展了同密密麻麻计算操作下,会愿意以目前的办事保存,这时可以选取Save或者Download,它们还好随
.ipynb 或 .py 格式保存 Notebook。 其中Save默认为 .ipynb
格式,如果要用该变动也 Python 可实施的 .py 格式,
可以在启动时进入–script后缀:

[IPython-User] Help troubleshooting notebook as public
server

以当地电脑被开拓浏览器,输入

Teaching with ipython notebooks – a progress
report

期在地方的台式机或者笔记本及对长距离服务器受到的多寡进行剖析,却无思将数据拷贝至地面。

用 IPython Notebook
写博客

https://ip/of/your/server:9999

简介

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图