我从笔记本电脑将服务器放入服务器。我在笔记本电脑上打开了一个端口,以接受来自端口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
时,转发不再起作用。为什么?
答案 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
在做什么或没有做什么,但是摆脱它是关键。