当前位置: 首页 > news >正文

使用Docker安装JupyterHub

安装JupyterHub

拉取Jupyter镜像并运行容器

docker run -d -p 8000:8000 --name jupyterhub jupyterhub/jupyterhub jupyterhub
# -d:后台运行
# -p 8000:8000:宿主机的8000端口映射容器中的8000端口
# --name jupyterhub:给运行的容器起名叫jupyterhub
# jupyterhub/jupyterhub:镜像名,本机没有会自动从dockerhub上拉取最新版本的jupyterhub

容器运行成功后进入容器

docker exec -it jupyterhub bash
# 进入容器后,下方操作都是在容器内进行的

生成jupyterhub的配置文件

jupyterhub --generate-config  # 默认在/srv/jupyterhub目录下生成jupyterhub_config.py文件

更新容器的apt并安装vim

apt-get update
apt install vim

升级/安装jupyterhub必须的组件库

pip install jupyterhub --upgrade -i https://mirrors.aliyun.com/pypi/simple
pip install notebook --upgrade -i https://mirrors.aliyun.com/pypi/simple

创建用户并设置密码

adduser lifan  # 这个用户就是登录JupyterHub的用户名
# 根据提示输入密码、电话号等,除了密码,其它的不想填写就直接回车

更改home目录权限

chmode -R 777 home  # 我最开始没有设置,一直报错,设置了就没事了
cd /home

创建家目录(正常应该自动生成,没生成的话手动创建)

mkdir lifan  # 文件夹与adduser创建的用户同名
chown lifan:lifan lifan -R  # 设置归属组

到此JupyteHub就可以使用创建用户登录了:http://127.0.0.1:8000
在这里插入图片描述

安装中文插件

界面是英文很不习惯,可以安装中文插件将界面汉化。

# 继续进到容器中
docker exec -it jupyterhub bash
# 安装中文库
pip install jupyterlab-language-pack-zh-CN -i https://mirrors.aliyun.com/pypi/simple

安装成功后回到http://10.168.1.249:8000/user/lifan/lab,刷新页面。
在这里插入图片描述
在这里插入图片描述

给用户赋予管理员权限

先看一下没有管理员权限的“Hub 控制面板”:
在这里插入图片描述
在这里插入图片描述
继续进入容器操作,编辑配置文件

vim /srv/jupyterhub/jupyterhub_config.py  # 编辑配置文件
------------------增加如下内容------------------------------
c.Authenticator.admin_users = {'lifan'}  # 将用户lifan设置为管理员
c.Authenticator.create_system_users = True  # 允许从Hub页面创建用户

保存并退出配置文件,退出容器,重启容器

docker restart jupyterhub  # 重启容器

重新进入“Hub 控制面板”,会发现多了一个"Admin":在这里插入图片描述
在这里插入图片描述

添加用户

点击Add Users按钮,添加用户
在这里插入图片描述
看提示“以行为分隔,批量添加用户”
在这里插入图片描述
在这里插入图片描述
你会想,新增的用户密码是多少呢?其实我们还没有设置,继续进入容器

docker exec -it jupyterhub bashpasswd zhangsan  # 根据提示设置密码

在这里插入图片描述
尝试登录zhangsan用户在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/185410.html

相关文章:

  • SpringCloudGateway网关整合swagger3+Knife4j3,basePath丢失请求404问题
  • html通过使用图像源的协议(protocol)相对 URL 来防止安全/不安全错误
  • 【SpringBoot】| Thymeleaf 模板引擎
  • Vue Router的进阶
  • 方案:快递站智能视频监控3大亮点汇总
  • Direct3D网格
  • docker安装wiki
  • bigemap在林业勘测规划设计行业的一些应用
  • 设计模式学习
  • Openfire身份认证绕过漏洞
  • 类目体系设计总结
  • gRPC之proto数据验证
  • 计算机竞赛 题目: 基于深度学习的疲劳驾驶检测 深度学习
  • css--踩坑
  • C超市商品信息查询系统
  • 黑马JVM总结(二十七)
  • 软件测试/测试开发丨Python异常处理 学习笔记
  • 026 - STM32学习笔记 - 液晶屏控制(三) - DMA2D快速绘制矩形、直线
  • 【牛客网】OR59 字符串中找出连续最长的数字串
  • 云原生监控系统Prometheus:基于Prometheus构建智能化监控告警系统
  • C++ 学习系列 -- std::list
  • YOLOv8血细胞检测(6):多维协作注意模块MCA | 原创独家创新首发
  • FFmpeg横竖版视频互换背景模糊一键生成
  • Java 华为真题-小朋友分班
  • 机器学习必修课 - 编码分类变量 encoding categorical variables
  • ClickHouse进阶(二十二):clickhouse管理与运维-服务监控
  • Hadoop使用hdfs指令查看hdfs目录的根目录显示被拒
  • [Mac] 安装paddle-pipelines出现 ERROR: Failed building wheel for lmdb
  • LED灯亮灭
  • Acwing.143 最大异或对(trie树)