拉取镜像

拉取官方镜像,r/jupyterhub/jupyterhub/ ,不过,这是一个纯的jupyterhub,文档里有写,jupyterlab notebook这些都需要自己装。挂载2个目录,/srv/jupyterhub放置的是配置文件;/home 存放的用户目录。

1
2
3
volumes:
- /mnt/user/ZFS/docker-data/jupyterhub/srv:/srv/jupyterhub
- /mnt/user/ZFS/docker-data/jupyterhub/home:/home

安装必要的包

安装Jupyter相关必要的包,主要安装notebook,额外加了个语言包。

pip install jupyterlab notebook jupyterlab-language-pack-zh-CN

配置默认账户

通过unraid的docker管理,进入控制台,su切换root权限,jupyterhub --generate-config 生成配置文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
c = get_config()  #noqa

# 是否有向系统添加用户的权限
c.LocalAuthenticator.create_system_users = True
c.DummyAuthenticator.password = "some_password"
# 一组初始管理员用户
c.Authenticator.admin_users = set(['jupyterhub','admin'])
# 您可以使用一组来限制允许哪些用户登录
c.Authenticator.allowed_users = {'max'}
# 仪表板中访问的最高级别目录。打开后所有用户可以相互访问
# c.Spawner.notebook_dir = '/home'
# SSL 证书
#c.JupyterHub.ssl_key = '/server.key'
#c.JupyterHub.ssl_cert = '/server.crt'

控制台中,修改admin用户的密码。

1
2
3
4
5
6
# su
root@761e84e9e3f3:/srv/jupyterhub# passwd admin
New password:
Retype new password:
passwd: password updated successfully
root@761e84e9e3f3:/srv/jupyterhub#

使用

使用admin账号,和改好的密码,即可正常登录了。

注意

如果出现 Spawn failed: Server at http://127.0.0.1:37391/user/admin/ didn’t respond in 30 seconds 类似报错,可能原因是home文件夹的权限问题。Unraid里面需要把其它也配置成读写。

修改权限

ref

docker部署jupyterhub+SSL (HTTPS)/证书生成