docker 安装jupyterhub

本文详细介绍了如何在本地环境中部署JupyterHub,包括创建必要目录、运行Docker容器、配置系统账号、更新软件包及权限调整等关键步骤,确保用户能够顺利启动并使用JupyterHub服务。

官方:
官方文档

mkdir -p /opt/jupyterhub/jupyterhub  
mkdir -p /opt/jupyterhub/home  
docker run -p 8000:8000 -d --name jupyterhub  -v /opt/jupyterhub/jupyterhub:/srv/jupyterhub -v /opt/jupyterhub/home:/home --restart=always jupyterhub/jupyterhub jupyterhub

访问jupyterhub

因为Jupyterhub是使用系统的账号和密码,所以需要登陆到docker容器里去创建系统账号和密码

登陆docker 容器

docker exec -it jupyterhub bash

useradd jupyterhub

passwd jupyterhub

输入两次密码



更新pip

pip install --upgrade pip

更新jupyterhub

pip install --upgrade jupyterhub

默认docker没有安装notebook,不执行这条命令,无法使用jupyterhub

pip install notebook --upgrade

打开浏览器,http://IP:8000,会出现500的错误,因为jupyterhub使用的的home目录没有权限,需要去添加权限,home目录是保存jupyterhub notebook文件的路径

chmod -R 777 home

设置admin
#指定Jupyterhub服务的管理员账号,该账号拥有管理权限
c.JupyterHub.admin_access = True
c.Authenticator.admin_users = {‘jupyterhub’}

jupyterhub登录后,Start Server,在Control Pannel中可以看到Admin按钮

当用户遇到 `docker network 'jupyterhub-docker_jupyterhub_network' not found` 的错误时,通常意味着 Docker 无法找到名为 `jupyterhub-docker_jupyterhub_network` 的网络。这种问题可能出现在尝试启动容器、服务或使用 `docker-compose` 时,特别是在部署 JupyterHub 等依赖特定网络配置的应用时。 ### 可能的原因与解决方法 1. **网络尚未创建** 如果该网络未被显式创建,Docker 无法找到它。可以通过以下命令创建该网络: ```bash docker network create jupyterhub-docker_jupyterhub_network ``` 这将创建一个默认使用 `bridge` 驱动的网络,适用于大多数本地开发场景[^1]。 2. **使用 `docker-compose` 时未定义网络** 如果在 `docker-compose.yml` 文件中引用了 `jupyterhub-docker_jupyterhub_network`,但未在文件中定义该网络,则需要确保在 `networks` 部分显式声明: ```yaml networks: jupyterhub-docker_jupyterhub_network: driver: bridge ``` 然后在服务中引用该网络: ```yaml services: jupyterhub: networks: - jupyterhub-docker_jupyterhub_network ``` 这样可以确保 `docker-compose up` 时自动创建该网络[^2]。 3. **网络被标记为外部(external)但不存在** 如果在 `docker-compose.yml` 中将该网络定义为外部网络: ```yaml networks: jupyterhub-docker_jupyterhub_network: external: true ``` 则必须确保该网络在运行 `docker-compose` 前已经存在。否则需要先创建网络,或移除 `external: true` 让 `docker-compose` 自动管理网络生命周期[^4]。 4. **网络被删除或容器未正确清理** 如果之前曾创建过该网络但后来被删除,或者容器未正确停止和清理,也可能导致网络引用失效。可以运行以下命令查看当前存在的网络: ```bash docker network ls ``` 若发现残留网络配置,可尝试清理无用网络: ```bash docker network prune ``` 或者手动删除特定网络(需先停止使用该网络的所有容器): ```bash docker network rm jupyterhub-docker_jupyterhub_network ``` 再重新创建[^3]。 5. **命名冲突或拼写错误** 确保 `docker-compose.yml` 文件或命令行中引用的网络名称拼写正确,并与创建的网络名称完全一致。Docker 网络名称是大小写敏感的。 ### 总结 遇到 `docker network 'jupyterhub-docker_jupyterhub_network' not found` 错误时,应首先确认该网络是否已存在,其次检查 `docker-compose.yml` 中的网络配置是否正确,尤其是是否被定义为外部网络。若网络缺失,可通过 `docker network create` 显式创建;若配置错误,应调整 YAML 文件后重新部署服务。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值