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

在 Docker 中启动 Jupyter Notebook

文章目录

  • 一、创建容器
  • 二、Conda安装
  • 三、安装 Jupyter
  • 四、启动 Jupyter
  • 五、注册内核来使用虚拟环境
  • 小结

一、创建容器

  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的详细操作这里不过多涉及,如有其他问题,欢迎在评论区讨论,谢谢!!!

http://www.xdnf.cn/news/608491.html

相关文章:

  • 功能强大且易于使用的 JavaScript 音频库howler.js 和AI里如何同时文字跟音频构思想法
  • 【羊圈——状压 + DP / 记忆化搜索DP】
  • 【办公类-18-06】20250523(Python)“口腔检查涂氟信息”批量生成打印(学号、姓名、学校、班级、身份证、户籍、性别、民族)
  • 冒泡排序:轻松理解与实现
  • 新能源汽车产业链图谱分析
  • python学习day2:运算符+优先级
  • 【沉浸式求职学习day47】【JSP详解】
  • Java—— 网络爬虫
  • Redis 8.0 新增数据结构深度解析:从核心功能到生态重构
  • 【数据架构04】数据湖架构篇
  • Flutter跨平台通信实战|3步打通Android原生能力,实现底层API调用!
  • Flutter - 国际化
  • Flutter 3.32 升级要点全解析
  • ros2 humble安装ros-humble-tf2-tools
  • 布丁扫描高级会员版 v3.5.2.2| 安卓智能扫描 APP OCR文字识别小助手
  • 数字人交互系统哪家强?品牌技术对比!
  • JavaScript进阶(十二)
  • 【AS32X601驱动系列教程】GPIO_点亮LED详解
  • 在bash中,如何打开特定文件,使用特定字符串替换特定字符串?请编写代码
  • 哈希表的实现(上)
  • mac将自己网络暴露到公网
  • ROS云课三分钟-cmake gcc g++ 默认版本和升级-250523
  • 前后端联调实战指南:Axios拦截器、CORS与JWT身份验证全解析
  • 提示词工程框架——CO-STAR 框架实战
  • 江科大DMA直接存储器访问hal库实现
  • 深度剖析 MCP SDK 最新版:Streamable HTTP 模式
  • 学习黑客Nmap 是什么?
  • 数据结构 -- 交换排序(冒泡排序和快速排序)
  • 信息安全管理与评估赛项参考答案-模块1网络平台搭建
  • 【软件测试】第三章·软件测试基本方法(基于需求的测试方法)