
JupyterHub将笔记本的强大功能带给用户群体。它让用户能够访问计算环境和资源,而无需承担安装和维护任务。用户(包括学生、研究人员和数据科学家)可以在共享资源上的个人工作区中完成工作,系统管理员可以高效管理这些资源。
JupyterHub能够为全球任何用户提供预配置的数据科学环境。它可定制且可扩展,适用于小型和大型团队、学术课程以及大规模基础设施。
JupyterLab是基于Web的交互式开发环境,用于Jupyter笔记本、代码和数据。JupyterLab具有灵活性:可配置和安排用户界面,以支持数据科学、科学计算和机器学习中的各种工作流。JupyterLab可扩展且模块化:可编写添加新组件并与现有组件集成的插件。
Jupyter Notebook是开源Web应用程序,允许创建和共享包含实时代码、方程式、可视化和叙述性文本的文档。用途包括:数据清理和转换、数值模拟、统计建模、数据可视化、机器学习等。
bashdocker run -d --restart unless-stopped \ --name jupyterhub \ --log-opt max-size=50m \ --memory=$(($(head -n 1 /proc/meminfo | awk '{print $2}') * 4 / 5))k \ --cpus=$(($(nproc) - 1)) \ -v %LOCAL_PATH_TO_HOMES%:/home \ -v %LOCAL_PATH_TO_CREATEUSERS.TXT_FILE%:/root/createusers.txt \ -v %LOCAL_PATH_TO_STARTUP.SH_FILE%:/root/startup.sh \ -p 8000:8000 \ rattydave/jupyterhub
将%LOCAL_PATH_TO_HOMES%替换为主机文件系统上的主目录路径。
将%LOCAL_PATH_TO_CREATEUSERS.TXT_FILE%替换为createusers文件的本地路径。
该文件包含3个字段(username:password:is_sudo)。其中username是登录ID,password是密码,is_sudo表示用户是否有sudo权限(仅识别Y)。文件末尾需要有一个"换行符"。
mickey:mouse:N daisy:duke:Y dog:flash:n morty:rick:wubba
在此示例中,将创建4个用户,只有daisy拥有sudo权限。
每次重启时,系统会检查此文件并添加任何新用户。
将%LOCAL_PATH_TO_STARTUP.SH_FILE%替换为startup.sh脚本的本地路径。该脚本在用户创建后、服务启动前运行。
使用以下命令进行"快速启动"。这将创建一个名为user1、密码为pass的用户。然后将浏览器指向http://127.0.0.1:8000。
bashecho "user1:pass:n" > createusers.txt docker run -d -v $(pwd)/createusers.txt:/root/createusers.txt -p 8000:8000 rattydave/jupyterhub
要添加SSL认证,需要将端口80和443开放到互联网。
bashdocker run --detach \ --name nginx-proxy \ --publish 80:80 \ --publish 443:443 \ --volume /etc/nginx/certs \ --volume /etc/nginx/vhost.d \ --volume /usr/share/nginx/html \ --volume /var/run/docker.sock:/tmp/docker.sock:ro \ jwilder/nginx-proxy
bashdocker run --detach \ --name nginx-proxy-letsencrypt \ --volumes-from nginx-proxy \ --volume /var/run/docker.sock:/var/run/docker.sock:ro \ --env "DEFAULT_EMAIL=your_mail@yourdomain.tld" \ jrcs/letsencrypt-nginx-proxy-companion
bashdocker run -d --restart unless-stopped \ --name jupyterhub \ --log-opt max-size=50m \ --memory=$(($(head -n 1 /proc/meminfo | awk '{print $2}') * 4 / 5))k \ --cpus=$(($(nproc) - 1)) \ -v %LOCAL_PATH_TO_HOMES%:/home \ -v %LOCAL_PATH_TO_CREATEUSERS.TXT_FILE%:/root/createusers.txt \ -v %LOCAL_PATH_TO_STARTUP.SH_FILE%:/root/startup.sh \ -p 8000:8000 \ --env "VIRTUAL_HOST=othersubdomain.yourdomain.tld" \ --env "VIRTUAL_PORT=8000" \ --env "LETSENCRYPT_HOST=othersubdomain.yourdomain.tld" \ --env "LETSENCRYPT_EMAIL=your_mail@yourdomain.tld" \ rattydave/jupyterhub
https://github.com/jupyter-xeus/xeus-cling%E6%98%AF%E5%9F%BA%E4%BA%8EC++%E8%A7%A3%E9%87%8A%E5%99%A8cling%E5%92%8CJupyter%E5%8D%8F%E8%AE%AE%E5%8E%9F%E7%94%9F%E5%AE%9E%E7%8E%B0xeus%E7%9A%84Jupyter%E5%86%85%E6%A0%B8%E3%80%82%E5%AE%83%E6%98%AF%E4%BD%BF%E7%94%A8Cling%E7%9A%84C++%E5%86%85%E6%A0%B8%E6%9B%BF%E4%BB%A3%E5%93%81%E3%80%82
C++是由Bjarne Stroustrup创建的通用编程语言,作为C编程语言的扩展,或称为"带类的C"。该语言随着时间的推移显著扩展,现代C++除了具有低级内存操作功能外,还具有面向对象、泛型和函数式特性。它几乎总是作为编译型语言实现,许多供应商提供C++编译器,包括自由软件基金会、LLVM、微软、英特尔、甲骨文和IBM,因此可在许多平台上使用。
C++的设计偏向于系统编程、嵌入式、资源受限软件和大型系统,其设计重点是性能、效率和使用灵活性。C++在许多其他环境中也很有用,主要优势在于软件基础设施和资源受限应用,包括桌面应用程序、服务器(如电子商务、Web搜索或SQL服务器)以及性能关键型应用程序(如电话交换机或太空探测器)。
包含Derek Banas视频教程中的C++完整课程教程。
Node.JS是开源、跨平台的JavaScript运行时环境,可在浏览器外执行JavaScript代码。Node.js允许开发人员使用JavaScript编写命令行工具和服务器端脚本——在服务器端运行脚本以在页面发送到用户的Web浏览器之前生成动态网页内容。因此,Node.js代表了"JavaScript无处不在"的范式,围绕单一编程语言统一Web应用程序开发,而不是服务器端和客户端脚本使用不同的语言。
虽然.js是JavaScript代码的标准文件名扩展名,但"Node.js"在此上下文中并不指代特定文件,而仅仅是产品名称。Node.js具有事件驱动架构,能够进行异步I/O。这些设计选择旨在优化具有许多输入/输出操作的Web应用程序的吞吐量和可扩展性,以及实时Web应用程序(如实时通信程序和浏览器游戏)。
Node.js分布式开发项目由Node.js基金会管理。
Clojure是在JVM上运行的Lisp方言。它与Lisp共享"代码即数据"的理念和强大的宏系统。Clojure主要是函数式编程语言,具有丰富的不可变、持久数据结构集。它对可靠的多线程和并发提供强大支持。
Apache Groovy应该被称为JavaScript,因为它是Java的脚本版本。
Java是所有JVM语言的母语言,在Sun Microsystems多年开发后于1995年首次发布。BeakerX使用OpenJDK用于Java和所有内核。
Kotlin是JetBrains和Android推出的相对较新的语言。它旨在成为Java的改进版本,包括空安全特性。
Scala结合了函数式/类型推断范式和面向对象范式,也旨在成为Java的改进版本。Scala是Apache Spark的原生语言。
SQL(结构化查询语言)是最古老且最流行的数据库访问语言之一。BeakerX对SQL提供一流支持,包括语法高亮、自动完成以及自动转换为JavaScript(更多语言支持https://github.com/twosigma/beakerx/issues/5039%EF%BC%89%E3%80%82
TensorFlow是用于各种任务的数据流和可微编程的免费开源软件库。它是一个符号数学库,也用于机器学习应用,如神经网络。它在Google的研究和生产中都有使用。
PyTorch是基于Torch库的开源机器学习库,用于计算机视觉和自然语言处理等应用。它主要由***的AI研究实验室(FAIR)开发。
IJavascript是Jupyter notebook的Javascript内核。
IJavascript内核在Node.js会话中执行Javascript代码。因此,它的行为与Node.js REPL相同,提供对Node.js标准库和任何已安装的npm模块的访问。
此容器中包含示例和教程。
Jupyter和BeakerX基于实验室笔记本的理念,在Web浏览器中实现。每个笔记本都是记录研究过程中产生的书面想法、数据、图像、电子表格、图表、方程式,尤其是代码的地方。您可以使用多种编程语言分析、可视化和记录数据与科学。BeakerX是Jupyter的扩展,包括JVM语言内核、语言间自动转换(原型)、交互式绘图、表格、Spark等。
Jupyter文档涵盖代码单元格、markdown和笔记本的交互。以下教程展示BeakerX扩展的功能。
BeakerX的绘图和表格还具有创新的滚轮和缩放手势方法。
语言
Groovy、Java、Scala、Clojure、SQL、Kotlin。
魔术命令
计时、类路径和导入、多语言魔术命令、定义新魔术命令。
选项面板
属性、堆大小和其他JVM选项、UI选项。
自动转换
Python到JS和D3、Groovy到JS和D3、通用自动转换。
Groovy绘图和图表
示例和交互、时间序列和通用API及功能、类别图和条形图、详细级别、直方图、热图、树状图、绘图操作、绘图无缝更新、3D可视化和地图。
表格显示
包含操作的Groovy API、64位整数和大数字、简单数据结构的自动显示、大型表格的处理。
其他语言中的BeakerX绘图
JavaScript、Python、Scala。
Python
包含pandas集成的表格、时间序列、绘图操作、热图、类别图、树状图、直方图、EasyForm、输出容器、访问JVM的魔术命令。
Scala
表格、绘图、EasyForm。
丰富输出和显示定制
媒体和MIME输出、通用显示、空值显示、自定义显示和jvm-repr。
表单、小部件和交互
EasyForm、输出小部件、输出容器和布局管理器、Jupyter JS小部件的Groovy接口、小部件样式、交互式重新计算。
自动化
进度报告API、初始化单元格、获取代码、运行另一个单元格。
Tablesaw
JVM版的Tablesaw Pandas。
Spark
使用Scala的普通Spark集群计算、用于深度集成的Spark Magic,以及Flint时间序列库。
更多集成
DataVec(DeepLearning4j)、STIL(Starlink Tables Infrastructure Library)。
从入门到高级的完整课程。
包含所有示例。
以下是 rattydave/jupyterhub 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务