Как я могу запустить jupyterhub с образом докера из dockerhub? - PullRequest
0 голосов
/ 04 октября 2019

У меня есть jupyterhub на моей машине (ubuntu 18.04), и я пытаюсь использовать докер с изображением Continumumio / Anaconda3, но после правильной настройки, когда jupyter пытается порождать сервер для меня после входа в систему. Так что я получил ошибку 404. https://i.imgur.com/iWgmJK4.png Может кто-нибудь помочь мне с этой ошибкой? Также это изображение уже загружено в мой список докеров

jupyterhub_config.py
c.JupyterHub.ip = '*'
c.JupyterHub.port = *
c.Jupyterhub.jupyterhub_cookie_secret = "./jupyterhub_cookie_secret"
c.JupyterHub.ssl_key="*"
c.JupyterHub.ssl_cert="*"
#SPAWNER
from dockerspawner import DockerSpawner
c.JupyterHub.spawner_class = DockerSpawner
import netifaces
docker0 = netifaces.ifaddresses('docker0')
docker0_ipv4=docker0[netifaces.AF_INET][0]
c.JupyterHub.hub_ip=docker0_ipv4['addr']
c.DockerSpawner.image = 'continuumio/anaconda3:cd83b04b8169'


server: 404 Client Error: Not Found ("manifest for continuumio/anaconda3:cd83b04b8169 not found")
ERROR:asyncio:Task exception was never retrieved
future: <Task finished coro=<BaseHandler.spawn_single_user() done, defined at /usr/local/lib/python3.6/dist-packages/jupyterhub/handlers/base.py:697> exception=NotFound(HTTPError('404 Client Error: Not Found for url: http+docker://localhost/v1.39/images/create?tag=cd83b04b8169&fromImage=continuumio%2Fanaconda3',),)>
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/docker/api/client.py", line 261, in _raise_for_status
    response.raise_for_status()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 935, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http+docker://localhost/v1.39/images/create?tag=cd83b04b8169&fromImage=continuumio%2Fanaconda3

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/jupyterhub/handlers/base.py", line 889, in spawn_single_user
    timedelta(seconds=self.slow_spawn_timeout), finish_spawn_future
  File "/usr/local/lib/python3.6/dist-packages/jupyterhub/handlers/base.py", line 807, in finish_user_spawn
    await spawn_future
  File "/usr/local/lib/python3.6/dist-packages/jupyterhub/user.py", line 642, in spawn
    raise e
  File "/usr/local/lib/python3.6/dist-packages/jupyterhub/user.py", line 546, in spawn
    url = await gen.with_timeout(timedelta(seconds=spawner.start_timeout), f)
  File "/usr/local/lib/python3.6/dist-packages/tornado/gen.py", line 742, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "/usr/local/lib/python3.6/dist-packages/dockerspawner/dockerspawner.py", line 968, in start
    yield self.pull_image(image)
  File "/usr/local/lib/python3.6/dist-packages/tornado/gen.py", line 735, in run
    value = future.result()
  File "/usr/local/lib/python3.6/dist-packages/tornado/gen.py", line 742, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "/usr/local/lib/python3.6/dist-packages/dockerspawner/dockerspawner.py", line 931, in pull_image
    yield self.docker('pull', repo, tag)
  File "/usr/local/lib/python3.6/dist-packages/tornado/gen.py", line 735, in run
    value = future.result()
  File "/usr/lib/python3.6/concurrent/futures/_base.py", line 425, in result
    return self.__get_result()
  File "/usr/lib/python3.6/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.6/dist-packages/dockerspawner/dockerspawner.py", line 743, in _docker
    return m(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/docker/api/image.py", line 414, in pull
    self._raise_for_status(response)
  File "/usr/local/lib/python3.6/dist-packages/docker/api/client.py", line 263, in _raise_for_status
    raise create_api_error_from_http_exception(e)
  File "/usr/local/lib/python3.6/dist-packages/docker/errors.py", line 31, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation)
docker.errors.NotFound: 404 Client Error: Not Found ("manifest for continuumio/anaconda3:cd83b04b8169 not found")
...