SSH远程直连服务器docker容器的jupyter

server/2024/9/25 10:36:01/

SSH远程直连服务器docker容器的jupyter


动机:最近在公司服务器使用jupyter出现了点问题,也不知道怎么回事,jupyter lab打开都没问题,但是准备打开一个ipynb文件时就卡住了,啥反应没有,ctrl+C 也不能关掉jupyter。尝试了种种手段,也没搜到合适的解决方案,估计是服务器网络设置问题吧

然后开了docker容器,发现在容器里面使用jupyter没啥问题,只是端口映射需要做好,有几种解决方案吧

  • 第一种:参考SSH远程直连Docker容器,个人试了,不太好用,仅供参考
  • 第二种,利用vscode的插件Dev Containers,即使容器初始化的时候没做端口转发,也可以自动做端口转发,不需要网上那些改什么配置文件,很是神奇
  • 第三种,一种是容器在初始化的时候使用--publish 10001:9999做端口转发,hostPort:containerPort,即前者是宿主机端口,后者是容器端口,这个应该比较靠谱,推荐使用
  • 第四种,一种是在容器初始化的时候使用宿主机的网络,命令如下--net host,这个也是用起来最方便的,登录jupyter起来就用原来的方案即可,非常丝滑,完整初始化命令如下:
docker run -itd \--gpus all \--volume /workspaces:/workspaces \--volume /databases:/databases \--workdir /workspaces \--env JUPYTER_ENABLE_LAB=yes \--shm-size 256g \--name test \--net host \nvcr.io/nvidia/cuda:12.1.1-cudnn8-devel-ubuntu20.04 \/bin/bash

容器配置好,screen打开jupyter之后,远程登录容器里的jupyter即可使用原来的命令:

ssh -L8888:localhost libai@xx.x.xxx.111

其中 libai@xx.x.xxx.111是容器宿主机的地址,跟容器没半毛钱关系,非常丝滑。


http://www.ppmy.cn/server/22623.html

相关文章

黑马点评(五) -- 分布式锁-redission

1 . 分布式锁-redission功能介绍 基于setnx实现的分布式锁存在下面的问题: 重入问题:重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中,可重入锁的意义在于防止死锁,比如HashTable这样的代码中,他的方法都…

k8s pod 镜像拉取策略

在 Kubernetes (k8s) 中,Pod 容器镜像的拉取策略通过 imagePullPolicy 属性来控制。这一策略决定了 kubelet 如何以及何时从容器镜像仓库中拉取镜像。以下是三种主要的镜像拉取策略及其详细说明: Always: 说明: 这是默认的拉取策略。当设置为 Always 时&…

云计算革新:以太网 Scale-UP 网络为 GPU 加速赋能

谈谈基于以太网的GPU Scale-UP网络 Intel Gaudi-3 采用 RoCE 互联技术,促进了 Scale-UP 解决方案。业界专家 Jim Keller 倡导以太网替代 NVLink。Tenstorrent 成功应用以太网实现片上网络互联。RoCE 和以太网已成为互联解决方案的新兴趋势,为高性能计算提…

C语言实现各种排序

文章目录 C语言实现各种排序1、冒泡排序2、简单选择排序3、直接插入排序4、希尔排序5、快速排序6、堆排序 C语言实现各种排序 1、冒泡排序 冒大泡&#xff08;将大的数往后放&#xff09; void bubble_sort(int *p,int len){for(int i0;i<len-1;i){for(int j0;j<len-1…

【C/C++笔试练习】OSI分层模型、源端口和目的端口、网段地址、SNMP、状态码、tcp报文、域名解析、HTTP协议、计算机网络、美国节日、分解因数

文章目录 C/C笔试练习选择部分&#xff08;1&#xff09;OSI分层模型&#xff08;2&#xff09;源端口和目的端口&#xff08;3&#xff09;网段地址&#xff08;4&#xff09;SNMP&#xff08;5&#xff09;状态码&#xff08;6&#xff09;tcp报文&#xff08;7&#xff09;域…

图片转excel,免费、在线、软件,用哪个好?

在现代办公场景中&#xff0c;我们经常需要将一些图片中的数据或信息转化为Excel表格以便进行进一步的数据分析。虽然这个过程可能看起来有些复杂&#xff0c;但其实有一些简单的小窍门可以帮助我们快速高效地完成这一任务。 **一. 使用QQ免费将图片转为excel服务** 如果您的图…

JavaScript数组方法练习

第一个练习 ● 计算所有账户的存款总额 const bankDepositSum accounts //定义一个变量.flatMap(acc > acc.movements) //使用flatmap将所有的存款提取&#xff0c;然后组成一个新的数组.filter(mov > mov > 0) //使用filter方法提取所有的正值.reduce((sum, c…

C# 投影(Projection)

在C#中&#xff0c;投影&#xff08;Projection&#xff09;是一种操作&#xff0c;用于从一个集合中选择特定的属性或转换元素&#xff0c;形成一个新的集合。这个过程可以通过使用 LINQ&#xff08;语言集成查询&#xff09;查询语法或方法链来实现。 下面是对C#中投影的详细…