gpt4 book ai didi

docker - 连接到在远程服务器上的 docker 中运行的 jupyter notebook

转载 作者:行者123 更新时间:2023-12-02 17:52:19 28 4
gpt4 key购买 nike

我在建立从本地机器到我在远程服务器上运行的 docker 容器中的 jupyter 笔记本实例的连接时遇到问题。

到目前为止我做了什么:

我使用 ssh username@remoteHostIp 连接到远程服务器

我跑 docker container ls确保我的容器尚未运行

现在我用 docker run -it -p 8888:8888 -p 6006:6006 -v ~/:/host waleedka/modern-deep-learning 启动我的容器

我现在在我的容器中使用终端并启动一个无浏览器的 jupyter 笔记本实例

jupyter notebook --no-browser --port=8889 --allow-root

它启动成功:
The Jupyter Notebook is running at:
[I 11:14:51.979 NotebookApp] system]:8889/

现在我在本地计算机上启动另一个 shell 并创建一个 ssh 隧道:
ssh -N -f -L localhost:8888:localhost:8889 username@ remote_host_name

几秒钟后,我的 shell 返回以下内容:
channel 2: open failed: connect failed: Connection refused
channel 2: open failed: connect failed: Connection refused
channel 2: open failed: connect failed: Connection refused

我无法使用 localhost:8888/或 localhost:8889/访问 jupyter notebook

当我在 docker 容器外的远程服务器上运行 jupyter notebook 并创建 ssh 隧道时,一切正常。

一些附加信息:
远程服务器:
分销商 ID: Ubuntu
描述:Ubuntu 16.04.3 LTS
发布: 16.04
代号:xenial

我的本地机器在 osx moave 上运行

最佳答案

首先,您应该使用以下命令连接到远程服务器

ssh username@remoteHostIp

连接到它后,您应该使用运行 docker 容器
docker run -it -p 8080:8888 -p 6006:6006 -v ~/:/host waleedka/modern-deep-learning

我在这里考虑端口 8888 是 jupyter notebook 端口,8080 是远程服务器端口

现在在本地机器上打开一个新的终端窗口,使用以下选项再次通过 SSH 连接到远程机器以设置端口转发。
ssh -N -L localhost:8000:localhost:8080 username@remoteHostIp

我正在考虑这里的端口 8000 是我的本地机器端口,而 8080 就像我上面所说的那样已经是远程服务器端口

现在通过本地浏览器访问远程 jupyter 服务器。打开浏览器并转到:
localhost:8000

关于docker - 连接到在远程服务器上的 docker 中运行的 jupyter notebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54572456/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com