如何在Windows 10上使用Powershell将Google Colab与本地TensorFlow Jupyter服务器一起使用?

时间:2020-04-04 06:52:08

标签: powershell docker tensorflow jupyter-notebook google-colaboratory

我正在尝试使用Docker在Windows 10上学习TensorFlow,但是我仍然停留在环境设置的一开始。

我遵循了这一点: https://www.tensorflow.org/install#download-a-package

做了:

docker run -it -p 8888:8888 tensorflow / tensorflow:latest-py3-jupyter

然后,我遵循以下步骤: https://www.tensorflow.org/tutorials/quickstart/beginner

问题是当我尝试使用Google Colab(使用Google Chrome)连接到本地服务器时,在docker日志中出现以下错误:

阻止/ http_over_websocket的跨源API请求。起源: https://colab.research.google.com,主持人:localhost:8888

错误非常明显,Google Colab立即为我提供了解决方案:

jupyter笔记本\
--NotebookApp.allow_origin ='https://colab.research.google.com'\ --port = 8888 \ --NotebookApp.port_retries = 0

但是,为了我的一生,我无法弄清楚如何将此参数添加到docker映像/容器/命令/配置...

到目前为止我尝试过的事情:

  1. 我尝试将参数传递给docker run命令,但它不起作用。
  2. 我尝试在没有-it的情况下运行容器,然后连接到该容器以使用这些参数重新启动服务器,但是一旦我停止Jupyter服务器,它就会停止docker。
  3. 我尝试在启动docker时指定“ -u $(id -u):$(id -g)”,因为在容器启动时收到警告,我不应该以root用户身份进行连接。 。但是它不起作用,因为我在Windows 10上使用PowerShell。

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:2)

好吧,经过几个小时的搜索,我发现了如何覆盖Docker映像默认CMD并附加“ --NotebookApp.allow_origin ='https://colab.research.google.com'”,并且有效!

解决方案是:

docker run -it -p 8888:8888 tensorflow/tensorflow:latest-py3-jupyter jupyter notebook --notebook-dir=/tf --ip 0.0.0.0 --no-browser --allow-root --NotebookApp.allow_origin='https://colab.research.google.com'