docker部署jupyter

news2025/3/1 3:37:10

文章目录

    • 1.搜索镜像
    • 2.拉取镜像
    • 3.创建挂载
    • 4.运行容器
    • 4.查看容器运行运行状态
    • 5.token查看
    • 6.访问jupyter

1.搜索镜像

docker search jupyter: 命令用于在 Docker Hub 上搜索名为 “jupyter” 的镜像。搜索结果显示了一个名为 “jupyter/datascience-notebook” 的镜像,它是一个包含了数据科学 Jupyter 笔记本的 Python 栈。

root@Could:/volume1/docker/jupyter# docker search jupyter
NAME                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
jupyter/datascience-notebook         Data Science Jupyter Notebook Python Stack f…   1057    

....省略n个镜像

2.拉取镜像

docker pull jupyter/datascience-notebook:命令用于从 Docker Hub 下载 “jupyter/datascience-notebook” 镜像。

docker pull  jupyter/datascience-notebook

3.创建挂载

mkdir -p /volume1/docker/jupyter/notebook: 命令用于创建一个目录,即 /volume1/docker/jupyter/notebook,用于在主机和容器之间共享 Jupyter 笔记本文件。可以将的 Jupyter 笔记本文件放在这个目录中,以便在容器中进行访问和编辑。

#创建挂载目录
mkdir -p /volume1/docker/jupyter/notebook

4.运行容器

两个选项都可以生成jupyter,看个人需求:

(1)生成token,修改jupyter密码

#运行容器
docker run -itd \
--name jupyter \
-p 8888:8888 \
-e "GRANT_SUDO=yes" \
-v /volume1/docker/jupyter/notebook:/home/notebook/data \
jupyter/datascience-notebook

(2)生成无访问密码jupyter的容器

docker run -itd \
--name jupyter \
-p 8888:8888 \
-v /volume1/docker/jupyter/notebook:/home/notebook/data \
-e "JUPYTER_ENABLE_LAB=yes" \
-e "NB_USER=user" \
-e "NB_UID=1000" \
-e "GRANT_SUDO=yes" \
jupyter/datascience-notebook start-notebook.sh --NotebookApp.token=''

  • docker run -itd: 这是运行 Docker 容器的命令。-itd 参数将容器运行在后台,并将标准输入连接到 TTY(终端)。
  • --name jupyter: 通过这个选项,为容器指定了一个名称,即 “jupyter”。
  • -p 8888:8888: 这个选项将容器内部的端口 8888 映射到宿主机的端口 8888,以便可以通过 localhost:8888 访问 Jupyter。
  • -v /volume1/docker/jupyter/notebook:/home/notebook/data: 这个选项将宿主机的目录 /volume1/docker/jupyter/notebook 挂载到容器内的 /home/notebook/data 目录,以便可以在 Jupyter 中访问宿主机上的数据。
  • -e "JUPYTER_ENABLE_LAB=yes": 这个选项设置 Jupyter 启用 JupyterLab 界面。
  • -e "NB_USER=user": 这个选项设置 Jupyter 使用用户名 “user”。
  • -e "NB_UID=1000": 这个选项设置 Jupyter 使用用户 ID 为 1000。
  • -e "GRANT_SUDO=yes": 这个选项允许 Jupyter 用户拥有管理员权限。
  • jupyter/datascience-notebook: 这是要使用的 Docker 镜像的名称,即 Jupyter 数据科学笔记本镜像。
  • start-notebook.sh --NotebookApp.token='': 这是在容器内部运行的命令。start-notebook.sh 脚本会启动 Jupyter 服务器,并使用空的访问令牌,即无密码访问模式。

通过运行上述命令,将启动一个名为 “jupyter” 的容器,并以无密码访问模式启动 Jupyter。可以在浏览器中访问 IP:8888 来使用 Jupyter 笔记本。

4.查看容器运行运行状态

docker ps命令,用于查看运行的 Jupyter 数据科学笔记本容器的详细信息如下:

root@Could:~# docker ps
CONTAINER ID   IMAGE                            COMMAND                  CREATED         STATUS                   PORTS                    NAMES
4cd0ddf5a966   jupyter/datascience-notebook     "tini -g -- start-no…"   4 minutes ago   Up 4 minutes (healthy)   0.0.0.0:8888->8888/tcp   jupyter
  • CONTAINER ID: 容器的唯一标识符,用于在 Docker 中标识容器。
  • IMAGE: 容器所使用的镜像名称,即 “jupyter/datascience-notebook”。
  • COMMAND: 容器启动时执行的命令。
  • CREATED: 容器的创建时间。
  • STATUS: 容器的状态。在这种情况下,容器的状态为 “Up”,表示容器正在运行。
  • PORTS: 容器的端口映射配置。在这种情况下,容器的端口 8888 映射到主机的端口 8888。
  • NAMES: 容器的名称。

容器的名称为 “mystifying_shirley”,它已经运行了大约 15 分钟,并且状态为 “Up”,表示容器正常运行。

5.token查看

该命令使用Docker的日志功能来查看Jupyter容器的日志,并将日志内容追加到/tmp/jupyter.txt文件中。然后,使用grep命令来在文件中搜索包含"token"的行。

docker logs jupyter | cat >> /tmp/jupyter.txt 
cat  /tmp/jupyter.txt | grep token

#或者通过
docker logs jupyter | grep token

通过这个命令,可以查看Jupyter容器的日志,并搜索包含"token"的行,以找到Jupyter Notebook的访问令牌(token)。

复制token=xxx

9d38b2f29a6971f9abb8301da66de1073f57d627804200e

6.访问jupyter

http://192.168.31.100:8888/
通过token修改密码
在这里插入图片描述

登录jupyter主界面
在这里插入图片描述

写一个hello world
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1280000.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二叉树在线OJ

二叉树的构建及遍历 本题目的要求是: 输入一个数组,里面存放了若干个字符,#代表了空指针,数组中的顺序是 是先序遍历,然后要求你用中序输出 首先我们要做的就是构造结构体: typedef struct TreeNode {char…

游泳馆会员服务预约管理系统预约小程序效果如何

游泳馆在各地每天都有大量用户前往,夏季室外、冬季室内也是学习游泳技术和休闲娱乐的好地方,而消费者大多是年轻人和家长带的孩子,这部分群体更显年轻化,因此在如今互联网环境下,传统商家需要进一步赋能客户消费路径。…

《凤凰项目》读书笔记

文章目录 一、书名和作者二、书籍概览2.1 主要论点和结构2.2 目标读者和应用场景 三、核心观点与主题3.1 DevOps的核心原则与文化变革3.2 持续交付与自动化3.3 变更管理与风险控制3.4 关键绩效指标与持续改进 四、亮点与启发4.1 最有影响的观点4.2 对个人专业发展的启示 五、批…

Mover Creator 用户界面

1 “开始”对话框 首次打开 Mover Creator 时,出现的第一个页面是“开始”对话框,如下所示。从这里开始,用户可以选择开始设计飞机、武器或发动机。在上述每种情况下,用户都可以创建新模型或编辑现有模型。 1.1 新建模型 如果用…

【选择题】校招笔试选择题第一辑

题目 以下程序的运行结果是&#xff08; &#xff09; #include <stdio.h> int main(void) {printf("%s , %5.3s\n", "computer", "computer");return 0; }A. computer , puter B. computer , com C. computer , computer D. computer…

Linux的权限(一)

目录 权限的本质 Linux权限的概念 如何创建与删除普通用户 创建普通用户&#xff1a; 设置用户密码&#xff1a; 删除普通用户&#xff1a; 删除与该用户关联的主目录和邮件目录 &#xff1a; su指令 sudo指令 Linux权限管理 Linux中文件访问者有三种“人” Linux…

分享几个国内免费使用的 gpt 网站

可放心阅读点击&#xff0c;无邀请链接、邀请码等 今天主要分享几个个免费的GPT网站。 1、思默问答&#xff08;SiteSMO&#xff09; AI写作生成器_智能写作_问答助手 - 思默问答 算是国内比较早的AI应用网站&#xff0c;支持问答&#xff0c;画图等&#xff0c;所有的问答…

Pandas时序数据分析实践—基础(1)

目录 1. Pandas基本结构2. Pandas数据类型2.1. 类型概述2.1.1. 整数类型&#xff08;int&#xff09;&#xff1a;2.1.2. 浮点数类型&#xff08;float&#xff09;&#xff1a;2.1.3. 布尔类型&#xff08;bool&#xff09;&#xff1a;2.1.4. 字符串类型&#xff08;object&a…

Java中异常处理顺序和全局异常处理器

异常处理顺序 我们直接通过代码看下Java中异常的处理顺序。 数组越界异常属于运行时异常&#xff0c;被捕捉后就停止了&#xff0c;打印结果为数组越界了。 Test public void test2(){int[] arr new int[4];try{System.out.println(arr[5]);}catch (ArrayIndexOutOfBoundsE…

uniapp 使用安卓模拟器运行

uniapp 启动方式有很多种,这里介绍使用模拟器启动uniapp 要使用模拟器启动uniapp肯定少不了安装模拟器(废话) 这里选着浏览器推荐的第一个模拟器mumu模拟器 下载好了mumu安装包后就是安装了,这个过于小白,就不介绍了 2. 查看模拟器的adb端口号, mumu的adb查看端口号与众不同…

C++-内联函数

目录 一.什么是内联函数 1.内联函数的概念 2.内联函数的定义 二.C中引入内联函数的原因 三.什么样的函数适合被声明为内联呢&#xff1f; 四.面试题 一.什么是内联函数 1.内联函数的概念 以inline修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用内联函数的地方展开…

Python如何优雅地使用重试:tenacity

1 缘起 项目中使用了第三方服务&#xff0c;和上一篇文章一样&#xff1a;SpringBoot中如何优雅地使用重试https://blog.csdn.net/Xin_101/article/details/134617868 在调用第三方服务时&#xff0c;出现第三方服务连接不到的情况&#xff0c;为了保证服务的相对稳定&#xf…

糟了,数据库崩了,又好像没崩

前言 2023 年某一天周末&#xff0c;新手程序员小明因为领导安排的一个活来到公司加班&#xff0c;小明三下五除二&#xff0c;按照领导要求写了一个跑批的数据落库任务在测试环境执行 &#xff0c;突然间公司停电了&#xff0c;小明大惊&#xff0c;“糟了&#xff0c;MySQL …

每天一点python——day84

#每天一点Python——84 #异常处理机制try—except—else #异常处理机制try—except—else如果try块中没有抛出异常&#xff0c;则执行else块&#xff0c;如果try中抛出异常&#xff0c;则执行except块#示例&#xff1a; try:a int(input(请输入第一个整数&#xff1a;))b in…

【JavaEE】多线程(3) -- 线程等待 wait 和 notify

目录 1. wait()⽅法 2. notify()⽅法 3. notifyAll()⽅法 4. wait 和 sleep 的对⽐&#xff08;⾯试题&#xff09; 由于线程之间是抢占式执⾏的, 因此线程之间执⾏的先后顺序难以预知. 但是实际开发中有时候我们希望合理的协调多个线程之间的执⾏先后顺序. 完成这个协调⼯…

【ArcGIS Pro微课1000例】0044:深度学习--面部模糊(马赛克)

本文讲解ArcGIS Pro中通过深度学习工具实现人脸面部模糊,起到马赛克的作用。 文章目录 一、效果对比二、工具介绍三、案例实现一、效果对比 原始图片: 深度学习后的模糊照片: 二、工具介绍 本工具为ArcGIS Pro工具箱中的深度学习工具中的:使用深度学习分类像素,如下所示…

ChatGPT 的 18 种玩法,你还不会用吗?

你确定&#xff0c;你会使用 ChatGPT 了吗&#xff1f; 今天给大家整理了 18 种 ChatGPT 的用法&#xff0c;看看有哪些方法是你能得上的。 用之前我们可以打开R5Ai平台&#xff0c;可以免费使用目前所有的大模型 地址&#xff1a;R5Ai.com 语法更正 用途&#xff1a;文章…

ER图是什么,怎么画?

ER图&#xff08;Entity-Relationship Diagram&#xff09;是一种用于描述实体间关系的图形化表示方法。它主要用于数据库设计&#xff0c;可以清晰地展示实体、属性和实体间的联系。常用的ER图类型包括&#xff1a; 实体-关系模型&#xff08;Entity-Relationship Model&…

Shutdown Signal: channel error; protocol method: #method<channel.close>

完整异常信息&#xff1a; Shutdown Signal: channel error; protocol method: #method<channel.close>(reply-code404, reply-textNOT_FOUND - no exchange fanoutExchange in vhost /, class-id60, method-id40) 意思是找不到名字是 fanoutExchange 的虚拟机 就是虚拟机…

基于SSH三大框架的员工管理系统

基于SSH三大框架的员工管理系统 摘要 本系统为本人学习SSH三大框架时所做的整合实例&#xff0c;系统角色包括普通用户和管理员两种&#xff0c;首页有管理员登录入口链接。系统功能主要包括管理员对用户的基本增、删、改、查和分页显示用户信息等。 系统环境 本系统使用ec…