【问题标题】:Installing packages in jupyterhub kubespawner nodes在 jupyterhub kubespawner 节点中安装包
【发布时间】:2017-03-13 16:45:36
【问题描述】:

我有一个使用 kubespawner 在 kubernetes 集群上运行的 jupyterhub。据我了解,kubespawner 是通过 kubernetes 在我的集群上启动 docker,这些 docker 有自己的 python 环境和存储区域。

对于某些用户,我正在尝试导入 rpy2(或其他什么,这并不重要),但未安装该软件包。

我的问题:

这些 docker 从哪里获得他们的 python 环境(例如,有没有我可以在某处编辑的 dockerfile)?

如何为一个 docker 会话安装 rpy2?

如何为该用户安装 rpy2(如果可能)?

如何为集线器上的每个人安装 rpy2?

【问题讨论】:

  • 显示您的 Kubernetes 配置会有所帮助。您使用的是哪个 jupyterhub 版本?

标签: kubernetes jupyter jupyterhub


【解决方案1】:

假设您使用的是官方镜像 (jupyterhub/jupyterhub),您将在 hub.docker.comGithub 上的相关 Dockerfile 中找到所有安装步骤。

只为一个(已经运行的)容器安装一个包。你可以使用kubectl exec your-pod -- pip install xxx

要为每个部署安装它,您必须提供自己的容器并将其包含在您的部署中。我认为这会导致与rpy2 image 合并,这可以通过如下 Dockerfile 来完成:

FROM jupyterhub/singleuser
RUN pip3 --no-cache-dir install \
   https://bitbucket.org/rpy2/rpy2/get/default.tar.gz && \
   rm -rf /root/.cache

【讨论】:

  • 您没有扩展jupyterhub/jupyterhub 图像来添加包。您需要扩展 jupyterhub/singleuser 图像,然后将 JupyterHub 配置为在生成单个笔记本实例时使用您的自定义图像而不是 juypyterhub/singleuserhub.docker.com/r/jupyterhub/singleuser
  • Graham thx 的评论......我更新了我的答案 - 我不是 jupytherhub 用户,但试图给出一个粗略的概述,可以做些什么来解决这个问题。
猜你喜欢
  • 2018-04-13
  • 1970-01-01
  • 2018-06-14
  • 1970-01-01
  • 1970-01-01
  • 2014-02-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多