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
### 配置PhpStorm以实现远程连接到运行在服务器上的Docker容器 为了使 PhpStorm 能够成功连接并调试部署在服务器中的 Docker 容器,需要完成以下几个方面的设置: #### 1. **配置 PHP 解释器** 在 PhpStorm 中,可以通过指定远程 PHP 解释器来访问服务器上运行的 Docker 容器。具体操作如下: - 打开 PhpStorm 的 `Settings` 或者 `Preferences` 对话框。 - 导航至 `Languages & Frameworks > PHP`。 - 点击右侧的齿轮图标,选择 `Add...` 并创建一个新的解释器。 - 在弹出窗口中选择 `Docker` 类型作为目标环境,并输入 Docker 容器的相关信息(例如容器名称或 ID)。这一步骤允许 PhpStorm 使用 Docker API 来与远程容器通信[^3]。 #### 2. **建立 SSH 连接** 如果 Docker 容器已经通过 SSH 映射了其内部服务端口,则可以直接利用该功能登录容器。假设已将容器内的 22 端口映射到了宿主机的某个外部端口(如 10022),那么可以按照以下方式测试连接: ```bash ssh root@<server-ip> -p 10022 ``` 此命令尝试通过指定 IP 地址以及自定义端口号进入目标机器上的虚拟实例[^2]。 #### 3. **设置 Xdebug 或其他调试工具** 为了让 PhpStorm 支持断点调试等功能,在开发环境中还需要安装相应的扩展程序比如 Xdebug。以下是基本流程概述: - 修改 php.ini 文件启用 xdebug.so 模块加载; - 设置监听地址为宿主机网络接口以便接收来自 IDE 发送过来的数据包; - 最后回到 PhpStorm 内部调整 Debug Server 和 Path Mapping 参数匹配实际项目路径结构即可。 #### 示例代码片段:验证 Docker 容器状态 下面提供了一段简单的 Shell 命令用于检查当前是否有符合条件的服务正在执行当中: ```shell docker ps | grep 'jeanslin/php7\.4-dev' ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值