在 jupyterhub kubespawner 节点中安装包
Installing packages in jupyterhub kubespawner nodes
我在带有 kubespawner 的 kubernetes 集群上有一个 jupyterhub 运行。据我了解,kubespawner 通过 kubernetes 在我的集群上启动 dockers,它们有自己的 python 环境和存储区域。
对于某些用户,我正在尝试导入 rpy2(或其他,这并不重要),但未安装该软件包。
我的问题:
这些 docker 从哪里获得它们的 python 环境(例如,是否有我可以在某处编辑的 docker 文件)?
如何为那个 docker 会话安装 rpy2?
如何为该用户安装 rpy2(如果可能)?
如何为集线器上的每个人安装 rpy2?
假设您使用的是官方镜像 (jupyterhub/jupyterhub),您将在 hub.docker.com or on Github.
上的相关 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
我在带有 kubespawner 的 kubernetes 集群上有一个 jupyterhub 运行。据我了解,kubespawner 通过 kubernetes 在我的集群上启动 dockers,它们有自己的 python 环境和存储区域。
对于某些用户,我正在尝试导入 rpy2(或其他,这并不重要),但未安装该软件包。
我的问题:
这些 docker 从哪里获得它们的 python 环境(例如,是否有我可以在某处编辑的 docker 文件)?
如何为那个 docker 会话安装 rpy2?
如何为该用户安装 rpy2(如果可能)?
如何为集线器上的每个人安装 rpy2?
假设您使用的是官方镜像 (jupyterhub/jupyterhub),您将在 hub.docker.com or on Github.
上的相关 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