因为觉得在Windows系统的本地配置Anaconda总是会遇到各种环境冲突的问题以及有时候出现电脑不在身边想远程跑一个程序的情况,索性换了电脑后就直接在一直吃灰中的腾讯云服务器中搭建了Docker+Anaconda环境,实现本地可远程访问Jupyter Notebook并进行各种操作(比如数据分析),如下图:
(上图试验了一下pandas的使用)
(下图随手在sklearn官网找了个“线性回归”的案例来运行)
(跟官网的运行结果一致, 说明安装的都没问题,后面可以愉快的玩耍Jupyter了)
一下子觉得云服务器+docker真是个有趣的东西,省去了好些繁琐的事情,如果你也想这么操作,那么就跟随掌柜进入下面的具体步骤吧。
这里掌柜用的是腾讯云服务器,操作系统为 CentOS 7.5 64位;之前搞活动买的,三年200多也算便宜。没事就多折腾折腾
其实腾讯云官方文档比较详细,这里掌柜就不多写了,地址附上:腾讯云搭建Docker
不过只需要进行到使用Docker下面的“运行进入docker的守护进程”这里,就不用再跟着官方文档走:
systemctl start docker
然后跳过来看掌柜下面的步骤。
官网下载Anaconda脚本文件
安装Anaconda
这里一直按Enter键往下走,直到出现这句话:
选yes。然后会出现安装的位置提示:
还是按Enter键,出现这个画面才是正确的:
然后自动安装,等一会出现想要初始化设置吗?选yes:
接下来就一路安装下去,最后出现这个提示画面就代表Anaconda安装好了!
PS: 如果中途在Anaconda位置那里出现报错[24582] Failed to execute script entry_point,请参见上一篇可能的解决办法。
增加环境变量
重启云服务器,验证安装成功没有
掌柜这里去的是控制台里面实例界面进行的重启:
再次在命令行输入conda,出现这个画面就代表Anaconda安装成功:
vim /root/.jupyter/jupyter_notebook_config.py
会出现这个画面:
这里直接按方向键的往下键,滑到Notebook配置这里,敲键盘上的字母 i,进入编辑模式(左下角有个INSERT就表示当前处于编辑模式):
接着添加下面这几句命令:
编辑完后点击键盘上的Esc,退出编辑模式。
然后再点击键盘上的“:”冒号键,接着点击wq这两个字母,回到命令行模式。
这里Anaconda环境就设置好了,但是目前还不能从本地浏览器进行远程访问。。。
(如果你此时就打算远程访问,那么就会出现下面这个“无法访问此网站”的画面: )
原因也告诉你了:检查代理服务器和防火墙!
所以还需要去腾讯云的控制台里面进行安全组(即虚拟防火墙)设置。
看了一下,官方文档里安全组应用案例下的场景六是适合掌柜目前需求的:
于是点击蓝色字体那里,去添加安全组规则:
发现掌柜还没有创建安全组,所以又跟着官方文档先去 创建安全组 。
创建好后,记得先“关联实例”,就是下面这个画面:
再点击 添加规则,在“入站规则”这里添加你的实例对应的8888端口和其他常用端口:
然后重启一下服务器,再次回到命令行那里,输入如下命令来验证端口是否成功开启:
下面演示如果都没开启的操作
输入下面这个命令:
然后去浏览器中输入自己腾讯云服务器的公网ip+8888端口,就会出现输入密码的页面:
输入之前你输了两遍的那个密码,就可以成功登录Jupyter Notebook!
其实这里就已经实现了远程访问Jupyter Notebook,但是这还不是掌柜想要的效果。。。因为此时的Jupyter还缺了很多掌柜要的数据分析工具包!所以这时候Docker的作用就凸显出来了。
PPS:如果你只是想在云服务器上安装Jupyter Notebook进行远程访问,那么教程就看到这里即可。如果想要进行数据分析,就请继续往下看。
--------------------------------------我是一条数据分析的工具线-------------------------------------------------------------
这里选择的是datascience-notebook这个镜像,因为根据官方这个镜像关系图和各自镜像介绍,datascience-notebook是包含了数据科学所需要的大部分工具包:
而且它还可以用Julia和R来做数据分析,当然官方还有其他的镜像(比如用Python进行Tensorflow,Keras的机器学习和深度学习镜像等),
可以自己去Jupyter Docker Stacks官方文档进行查看,按你的需求拉取。
Jupyter 一般默认是8888本地端口。然后复制最底下这个链接到浏览器打开,把前面的127.0.0.1替换成你自己的公网IP,就可以成功打开jupyter了:
这也就是一开始大家看到的那个画面,教程到这里就全部结束了。
只要你不关闭这个容器,这个页面就随时可以在任意浏览器访问,并进行数据分析的操作。
(演示一下,关闭容器后会出现的画面:)
看,链接马上就断开了。然后掌柜再次运行新的容器+本地8888端口,再去浏览器打开,又可以看到这个页面:
参考资料:
腾讯云服务器搭建Docker官方文档
Jupyter Docker Stacks官方文档
在云端centos中安装anaconda,配好jupyter notebook使在外网能访问