在 Docker 中启动 Jupyter Notebook

发布于:2025-05-24 ⋅ 阅读:(18) ⋅ 点赞:(0)

一、创建容器

  1. 可以先查看宿主机8888端口是否被占用,无输出,表明端口未被任何进程占用,如果有LISTEN,可能在创建容器的时候需要更换宿主机端口,例如 -p 8890:8888,这里以8890为例。

    netstat -tuln | grep 8888
    

    监听端口

  2. 关于容器的具体内容不过多介绍,在创建容器的时候注意要将宿主机的 8888 端口映射到容器的 8888 端口 (Jupyter 默认端口),如果宿主机8888端口被占用,那么需要修改宿主机映射的端口,比如-p 8890:8888

    docker run -it --name jupyter_container -p 8888:8888 镜像名:版本号 /bin/bash 
    
  3. 启动容器,准备创建虚拟环境。

    docker exec -it jupyter_container bash 
    

二、Conda安装

  1. 这里以miniconda为例,选择X86架构,通过wget获取安装脚本。

    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    
  2. 增加可执行权限。

    chmod +x Miniconda3-latest-Linux-x86_64.sh
    
  3. 运行安装脚本,根据提示yes/no,然后注意一下安装路径,按需修改,在最后一步输入no

    ./Miniconda3-latest-Linux-x86_64.sh
    
  4. 配置环境变量,打开~/.bashrc,在文件最后增加如下内容并将路径修改为刚才的安装路径之后source ~/.bashrc

    export PATH="/路径/miniconda3/bin:$PATH"
    
  5. 激活环境变量之后,执行conda init,然后重启docker即可。

    docker restart jupyter_container
    

三、安装 Jupyter

  1. 创建虚拟环境jupyter

    conda create -n jupyter python=3.9
    
  2. 激活虚拟环境。

    conda activate jupyter
    
  3. 因为我们使用的是miniconda,轻量版不自带jupyter,所以需要我们手动安装。

    pip install jupyter
    
  4. 如果没有jupyter lab,也可以手动安装。

    pip install jupyterlab
    

四、启动 Jupyter

  1. 启动 Jupyter ,需要增加如下参数:--ip=0.0.0.0:绑定所有网络接口,允许外部访问 (很重要) ; --port=8888:指定 Jupyter 监听的端口,与容器端口映射一致;容器中一般是 root 用户登录,--allow-root:允许以 root 用户运行,容器中一般也没有浏览器,--no-browser:防止 Jupyter 尝试打开浏览器。

    jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser --allow-root xxxx.ipynb
    # 同理 jupyter lab --ip=0.0.0.0 --port=8888 --no-browser --allow-root xxxx.ipynb
    
  2. 启动后,选择任意一个链接在浏览器中打开即可。

    启动界面

  3. 如果在创建容器的时候,没有使用默认的端口映射,比如使用-p 8890:8888进行映射,在拷贝链接的时候需要在宿主机浏览器中将端口号修改为8890即可正常打开 jupyter 文件。
    在这里插入图片描述

  4. 浏览器中内容如下,使用jupyter lab也是同理,可以在指令后指定打开的具体目录。
    浏览器

  5. Jupyter 的汉化,使用如下指令安装汉化包之后,启动Jupyter,找到setting,然后选择language,选择中文,之后重启内核。

    pip install jupyterlab-language-pack-zh-CN
    

    汉化

五、注册内核来使用虚拟环境

  1. 安装ipykernel用于管理 Jupyter 内核。

    pip install ipykernel
    
  2. 注册jupyter(虚拟环境名)为 Jupyter 可用内核vienv(内核名,可变),之后启动 Jupyter 就可以使用注册后的虚拟环境(内核)运行cell

    python -m ipykernel install --user --name jupyter --display-name "vienv"
    
  3. 查看已注册的内核。

    jupyter kernelspec list
    
  4. 删除注册的内核。

    jupyter kernelspec uninstall 内核名称
    

小结

关于Docker以及Jupyter的详细操作这里不过多涉及,如有其他问题,欢迎在评论区讨论,谢谢!!!


网站公告

今日签到

点亮在社区的每一天
去签到