在docker hub中使用jupyterhub/jupyterhub出现错误

问题描述 投票:0回答:1

我想使用 jupyterhub/jupyterhub 启动一个运行 jupyterhub 的容器。

所以我创建了一个 Dockerfile:

FROM jupyterhub/jupyterhub

RUN useradd -m test && \
    echo "test:password" | chpasswd

并使用

docker build -t jupyterhub_test:3 .
构建带有用户测试和密码密码的映像。

但是,当我使用

docker run -itp 8080:8000 jupyterhub_test:3

启动容器时

我可以使用hostmachine_ip:8080登录主机;但有错误说“没有名为 jupyter_core 的模块”

我搜索解决方案,有人建议在 Dockerfile 中安装笔记本,我尝试了,它有效,但是当我登录时,我在 jupyterlab 而不是 jupyterhub 界面。

那么这里有两个问题:

1 如何登录 jupyterhub 而不是 jupyterlab?

2 作为官方的 docker hub,为什么 jupyterhub/jupyterhub 镜像在我安装了其他模块后才工作,是不是有什么地方我没有做对?我想我应该立即根据此图像获得一个容器。

python docker dockerhub jupyterhub
1个回答
0
投票

您需要安装几个软件包。我建议创建一个

requirements.txt
文件:

jupyterlab==4.1.8
notebook==7.1.3

然后更新您的

Dockerfile

FROM jupyterhub/jupyterhub:4.1.5

RUN useradd -m test && \
    echo "test:password" | chpasswd

COPY requirements.txt .

RUN pip install -r requirements.txt

现在构建并运行。

docker build -t jupyterhub-user . && docker run -it -p 8000:8000 jupyterhub-user

如何登录 jupyterhub 而不是 jupyterlab?

通过此设置,您可以转到 127.0.0.1:8000 并登录 JuypterHub。

作为官方的 docker hub,为什么 jupyterhub/jupyterhub 镜像在我安装了其他模块后才工作,是不是有些地方我没有做对?

图像概述提到您需要安装这些软件包。 Docker 镜像通常相当“最小”。基础镜像服务于 DockerHub,但如果你想启动其他东西,那么你需要添加功能。这有助于避免基础镜像因并非每个人都可能需要的东西而变得臃肿。

enter image description here 当您使用

Dockerfile

中指定的凭据登录时,您将获得一个 JupyterLab 实例。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.