使用docker搭建jupyter notebook / jupyterlab
阅读原文时间:2023年07月09日阅读:2

说明

由于官方镜像实在是不怎么好用,所以我自己做了一个优化过的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

  2. 搭建容器

    将下面的的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
  2. 网页访问

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

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

  1. 重启容器

    重启容器使密码生效 这里需要使用构建容器时指定的name

    docker restart notebook_hub

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器