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

devtools/2024/11/14 6:35:32/

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/devtools/16513.html

相关文章

抢单业务介绍

存在的问题 会出现多个人同时访问的问题 解决办法:在判断前加锁,使用户在抢单前先访问锁然后在执行之后的操作 常见的锁 1.基于数据库 2.基础缓存(Redis等) 3.基于Zookeeper

Ubuntu 20.04 安装搜狗输入法,无法输入中文问题

搜狗输入法linux-安装指导 无法输入中文,主要是下面的命令没有执行: sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5qml-module-qtquick2 sudo apt install libgsettings-qt1 我的新台式机第一次执行上述命令失败,应该是默…

Stable Diffusion模型介绍

在深度学习和人工智能领域,Stable Diffusion模型作为一项前沿技术,已经引起了广泛的关注。本文将深入探讨Stable Diffusion模型的种类、特点以及它们在不同场景下的应用。 1. CheckPoint模型 Checkpoint模型是Stable Diffusion系列中的主模型&#xff…

【Qt】Visual Studio中打开Qt工程中的.ui文件闪退

1. 问题 Visual Studio中双击打开Qt工程中的.ui文件闪退。 2. 解决方法 .ui文件鼠标右键打开方式添加msvc中designer.ext路径(安装路径\Qt6\5.15.2\msvc2015_64\bin)将新设置的打开方式设置为默认打开方式。

Mac安装telnet

一、安装Homebrew 1、打开官网:Homebrew — The Missing Package Manager for macOS (or Linux) 2、打开终端输入: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 二、安装Telnet bre…

如何在使用 ES Modules 的 Node.js 应用中创建和使用 __dirname 和 __filename 这两个全局变量

在 Node.js 的 ES Modules (ESM) 环境中,传统的 CommonJS 全局变量 __dirname 和 __filename 不再直接可用。这是因为 ES Modules 采用不同的模块解析策略,更加符合 ECMAScript 标准。因此,如果在使用 ES Modules 格式编写 Node.js 代码&…

Apache Flink 中作业图与执行图的深入解析

Apache Flink 是一个用于分布式流处理和批处理的开源框架,它的核心概念之一是使用一系列层次化的执行图来抽象和优化用户的流处理作业。以下是 Flink 中作业图和执行图的详细介绍: StreamGraph(逻辑流图) StreamGraph 是用户编写的应用程序代码转换成的第…

网络安全之防范钓鱼邮件

随着互联网的快速发展,新的网络攻击形式“网络钓鱼”呈现逐年上升的趋势,利用网络钓鱼进行欺骗的行为越来越猖獗,对互联网的安全威胁越来越大。网络钓鱼最常见的欺骗方式就是向目标群体发送钓鱼邮件,而邮件标题和内容,…