docker 启动成功但无法访问_群辉、Docker 和 Jupyter

本文介绍了如何在群晖系统上使用Docker安装Jupyter Notebook,通过创建共享文件夹确保容器内外文件交互,并解决Jupyter Notebook无法访问文件夹的问题。详细步骤包括设置Docker、创建共享文件夹、配置ssh、设置镜像及密码。
摘要由CSDN通过智能技术生成

8e09530b41b917b2687bfad08068cd8e.png

最近用 Python 写了一个爬虫在网上搜集资料。因为每次都要遍历几万了网页,完整运行一次灰常耗时。

今天偶然瞥见角落里的群晖,突发奇想,反正文件服务器24小时开着,能不能把简单的爬虫任务交给它呢?我习惯使用 Jupyter Notebook 运行 Python 脚本,首先要解决的自然就是给群辉安装 Jupyter Notebook。

网上搜索一通之后发现前辈们的思路主要有两种:一种是直接安装到群辉系统中,一个是通过 docker 加载专门的镜像。我个人偏向于后一种思路,即把单独的功能做成虚拟机的形式,各自独立的运行在服务器上。万一一个手滑玩脱了,虚拟机最多删了重新下载一次,服务器系统挂了可就凉凉了。

7ca4ff1fbaf31fb7b43e896538015511.png

群辉上 docker 可以直接从应用中心下载安装,灰常之方便。

开启 docker,进入 Registery,搜索 jupyter,然后勇敢的面对选择恐惧症,居然有111页的结果。。。当然我关心的主要是排名第一的datascience-notebook。这个镜像大概2GB,最后解压完大概6GB。 趁着下载的时候,我们继续为镜像容器的设置做准备工作。

a668444cc40cc94c6fb883f22de77541.png

尽管 Jupyter 会运行在一个与外部相对隔绝的环境,我还是需要文件的输入输出,或者保存程序脚本以防容器崩溃把所有的文件都连着带仙游了。在控制面板中创建一个新的共享文件夹,取一个毫无想象力的名字,比如 jupyter,并且将读写权限交给本地普通用户组,确保镜像容器可以正常访问。按照网上的帖子,有前辈仅向特定用户授予读写权限,以确保文件的安全。但是照着我尝试了很多次都不成功,Jupyter Notebook 完全无法访问这个文件夹。这方面就算在“未来研究方向”部分吧。

ba85e09f76257e660756de25b700b7e3.png

还是在控制面板,前往终端选项卡,确认已经开启 ssh。在电脑上从命令行登陆群辉,并打开 /etc/passwd 文件。大概长这个样子:

c80f877e627ea9c2330d47c6f86fbdd6.png

这个文件里记录了当前所有用户名的账户 ID 和用户组 ID,找到你常用的用户名并记录下用户名后的两个数字。

最后我们要为 Jupyter 选个密码。由于密码在初始化的时候要以 sha1 加密的形式输入,我们可以在网上随便找一个计算 sha1 的网站,把自己的密码换算一下。

好啦,准备工作完成!如果你网速给力的话,Docker 镜像应该已经准备好了。回到 ssh 命令行输入下面这一长串,注意是都在一行里:

sudo /var/packages/Docker/target/usr/bin/docker run --name 'jupyter(这不是容器的名字)' -u root -it -p 8888(才不要侦听这个端口):8888 -e NB_UID=1026(听说这不是用户名后面的第一个数字) -e NB_GID=100(前面才是用户名后面的第二个数字) -v /volume1/jupyter(脚本没有保存在这个文件夹):/home/jovyan/work jupyter/datascience-notebook start-notebook.sh --NotebookApp.password='sha1:7C4A8D09CA3762AF61E59520943DC26494F8941B(才没有设置神马密码)'

经过初始化,以后镜像的开关就可以直接通过服务器网页中的 Docker App 进行了。如果没有其他需要的话,别忘了把 ssh 关掉。

搞定,收工。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值