为什么端口转发与我的Docker实例不一致?

时间:2018-11-15 00:40:16

标签: docker ssh portforwarding

我从笔记本电脑将服务器放入服务器。我在笔记本电脑上打开了一个端口,以接受来自端口9090的传入流量,并将其转发到9191。

在服务器上,我创建了一个Docker球:sudo docker run --network host --runtime=nvidia -it --rm tensorflow/tensorflow:latest-gpu /bin/bash

接下来,在外壳程序中(在Docker中),我这样做:jupyter notebook --ip=0.0.0.0 --port=9090 --allow-root

Voila!我将浏览器指向http://localhost:9191,可以看到珍贵的'lil笔记本正在运行。

我退出了Docker大会,退出了ssh流程,回家并入睡。

今天,我醒了,回到了服务器。我和前一天一样在笔记本电脑上打开了相同的端口。

我通过sudo docker start my_image访问了昨天Docker映像中的shell,然后 sudo docker exec -it my_image /bin/bash

但是现在,当我进入外壳(在Docker中)并像昨天一样键入jupyter notebook --ip=0.0.0.0 --port=9090 --allow-root时,转发不再起作用。为什么?

1 个答案:

答案 0 :(得分:0)

因此,如果有人偶然发现了这个问题,为了解决这个问题,我最终从头开始。

STEP 1:ssh
步骤2:通过以下方式创建Docker: sudo docker run -p 9090:9090 --runtime=nvidia -it --rm tensorflow/tensorflow:latest-gpu /bin/bash

关键是-p 9090:9090部分。我不知道--network host在做什么或没有做什么,但是摆脱它是关键。