使用DockerSpawner启动jupyterhub时​​,“ Authenticator.pre_spawn_start中的错误:获取服务器API版本时出现DockerException错误”

问题描述

我开始使用jupyterhub,现在我正在与错误做斗争,希望您能有所帮助。 我有一个有效的jupyterhub配置:

import environ 
import simplespawner
import tmpauthenticator

ROOT_DIR = environ.Path(__file__) - 2
env = environ.Env()
env.read_env(str(ROOT_DIR.path(".env")))

c.JupyterHub.port = 8008
c.JupyterHub.authenticator_class = tmpauthenticator.TmpAuthenticator
c.JupyterHub.spawner_class = simplespawner.SimpleLocalProcessSpawner
c.Spawner.notebook_dir = NOTEBOOK_DIR

没关系,但是现在我想将SimpleLocalProcessSpawner更改为DockerSpawner。我跑了

docker pull jupyterhub/singleuser

并将以上配置更改为:

....
c.JupyterHub.spawner_class = dockerspawner.DockerSpawner
c.DockerSpawner.image = 'jupyterhub/singleuser:latest'
docker0 = netifaces.ifaddresses('docker0')
docker0_ipv4 = docker0[netifaces.AF_INET][0]
c.JupyterHub.hub_ip = docker0_ipv4['addr']

现在我最终会遇到错误:

500:Authenticator.pre_spawn_start中的内部服务器错误错误: 提取服务器API版本时发生DockerException错误:(“连接 中止。”,PermissionError(13,“权限被拒绝”)),您可以尝试 从主页重新启动服务器。

你能告诉我我在做什么错吗?

编辑: 写作:

sudo chmod 666 /var/run/docker.sock

允许我在此配置下运行jupyterhub。问题是每次重新启动计算机后都必须运行它。如何使其永久化?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)