建模杂谈系列33-自有算网的迁移计算jupyter
程序员文章站
2022-07-12 17:55:04
...
说明
之前的一篇文章介绍了使用局域网主机执行迁移计算,但是那个是基于ipython命令行终端的。本篇介绍在局域网主机启动jupyter服务,远程通过浏览器访问。
ipython和jupyter各有各的优点吧,没办法只用一个。
1 配置FRP
首先将远程局域网主机的frpc.ini文件进行修改,将其8888端口投射到远端主机的端口(例如10100)。具体FRP配置这里就不再提,可以翻看我以前的文章。
2 docker-compose构建镜像
将本地的环境通过docker-compose方式传送到远程局域网主机并构建。
3 增加jupyter的配置文件
主要还是登陆密码,生成方式可用如下方式,参考
ipython
[1]from notebook.auth import passwd
[2]passwd()
Enter password:
Verify password: #记住自己设置的密码
Out[2]: 'argon2:$argon2id$v=19$m=10240,t=10,p=8$gfdH05D76Poxm7hu3FtlLA$VKC2nx8SvVb+onacC0pLDw' #复制下来,等会用得到
在docker-compose项目下增加一个配置文件
jupyter_notebook_config.py
c.NotebookApp.ip = '*'
c.NotebookApp.password = u'argon2:$argon2id$v=19$m=10240,t=10,p=8$gfdH05D76Poxm7hu3FtlLA$VKC2nx8SvVb+onacC0pLDw'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
可以看到,这里将刚才生成的哈希码放在了password属性下。密码的验证流程是客户输入自定义的密码,服务器在远程将生成的密码经过算法计算哈希,和存储在password熟悉的文本进行比较。
4 启动
在构建好了镜像之后(这里名称是baseprj1_basev1),然后执行以下命令
docker run -idt -p 8888:8888 -v /tmp/base_prj1/app:/tmp/app:rw -v /tmp/base_prj1/app/env/jupyter_notebook_config.py:/root/.jupyter/jupyter_notebook_config.py baseprj1_basev1 jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root
5 在远端访问云主机
在浏览器中打开云主机(不是远端局域网主机),输入密码就可以了。看起来就像在本地一样,但是可以把比较重的计算任务放在这里算。(之后的文章会提到使用矩阵计算大量节点间的关系矩阵)
http://111.222.333.444:10100/
上一篇: 第十一章 方差分析