欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

建模杂谈系列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/

建模杂谈系列33-自有算网的迁移计算jupyter

相关标签: 建模