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

2024-04-25 18:12

本文主要是介绍SSH远程直连服务器docker容器的jupyter,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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是容器宿主机的地址,跟容器没半毛钱关系,非常丝滑。

这篇关于SSH远程直连服务器docker容器的jupyter的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/935426

相关文章

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

docker 重命名镜像的实现方法

《docker重命名镜像的实现方法》在Docker中无法直接重命名镜像,但可通过添加新标签、删除旧镜像后重新拉取/构建,或在DockerCompose中修改配置文件实现名称变更,感兴趣的可以了解一下... 目录使用标签(Tagging)删除旧的php镜像并重新拉取或构建使用docker Compose在Do

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

Spring Boot中获取IOC容器的多种方式

《SpringBoot中获取IOC容器的多种方式》本文主要介绍了SpringBoot中获取IOC容器的多种方式,包括直接注入、实现ApplicationContextAware接口、通过Spring... 目录1. 直接注入ApplicationContext2. 实现ApplicationContextA

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po