您的位置:首页 > 运维架构 > Docker

使用docker搭建jupyter notebook / jupyterlab

2022-05-06 17:20 776 查看

说明

由于官方镜像实在是不怎么好用,所以我自己做了一个优化过的jupyter notebook的镜像 notebook_hub,使用我这个镜像搭建容器非常简单,下面就基于这个notebook_hub来进行搭建。

关于notebook_hub

这个是我自己自己基于Ubuntu镜像制作的jupyter notebook的镜像。

我自己做了以下优化:

  • 优化终端对中文字体的显示。
  • 优化jupyter notebook的UI显示。
  • 优化jupyter notebook对中文的支持。
  • 优化了jupyter notebook的字体的显示。
  • 优化了部分包对中文字体的显示乱码问题。
  • 为jupyter notebook添加了Nbextensions功能增强插件。
  • 为jupyter notebook整合了python3和R的内核支持。
  • 为jupyterlab添加 git github jupyterlab-lsp jupyterlab-drawio 等插件。

项目地址 https://github.com/brokyz/notebook_hub

Docker地址 https://hub.docker.com/r/brokyz/notebook_hub

搭建步骤

  1. 拉取镜像
# 需要jupyterlab自带python和R的使用这个镜像
docker pull brokyz/notebook_hub

# 需要jupyter notebook自带python和R的使用这个镜像
docker pull brokyz/notebook_hub:stable_v1

# 只需要带有python的jupyterlab使用这个镜像
docker pull brokyz/notebook_py

# 只需要带有pythom的jupyter notebook使用这个镜像
docker pull brokyz/notebook_py:stable_v1
  1. 搭建容器
# 将下面的的name和使用的镜像改为自己上一步拉取的镜像版本。
docker run -d -p 8888:8888 --name notebook_hub --restart always brokyz/notebook:hub

-p 8888:8888 为指定端口号外部端口为8889 容器内部端口为8888,根据自己的需要自行修改外部端口。比如在服务器上安装了宝塔面板8888端口被占用,那么只需要改成8889:8888即可,之后便会通过ip:8889端口进行访问。

  1. 获取登录token
# 使用命令查看日志中的token并复制 这里需要使用构建容器时指定的name
docker logs notebook_hub

# 结果如下,复制token为 1294c0bfc1513e9f2250df2ad52d40eb40b1ab678341e563
--------------------------------------------------------------------------------------------------------------------------------------------------
To access the notebook, open this file in a browser:
file:///root/.local/share/jupyter/runtime/nbserver-8-open.html
Or copy and paste one of these URLs:
http://b1c5c1eb1901:8888/?token=1294c0bfc1513e9f2250df2ad52d40eb40b1ab678341e563
or http://127.0.0.1:8888/?token=1294c0bfc1513e9f2250df2ad52d40eb40b1ab678341e563
  1. 网页访问

在浏览器输入 ip:端口号 进行访问,比如我这里 就是输入 ip:8888,如果在第2步修改成-p 8889:8888的话,那么就是通过ip:8889进行访问。

在进入的网页的下面粘贴自己的token和设置自己的访问密码。访问密码需要重启容器后才有效。

  1. 重启容器
# 重启容器使密码生效 这里需要使用构建容器时指定的name
docker restart notebook_hub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: