我的问题:
这里的ML场新人。我目前正在尝试通过docker设置tensorflow,但是一旦tensorflow似乎正在运行,我就会遇到一些麻烦。为了将来的参考,我使用的是Windows 10,PowerShell,python 2.7和oracle virtualbox(v.5.0.16)。
我非常有信心Docker正常工作,因为我经历了他们的设置教程("使用Powershell中的docker")没有任何问题 - 我能够在那里运行hello world示例。我还能够使用命令
成功运行ubuntu终端docker run -it ubuntu bash
然后我跟着tensorflow docker installation instructions,一切看起来都很正常 - 我输入了docker run命令for tensorflow:
docker run -it b.gcr.io/tensorflow/tensorflow
得到了这个输出:
[I 19:33:16.330 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[W 19:33:16.360 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[W 19:33:16.360 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using authentication. This is highly insecure and not recommended.
[I 19:33:16.365 NotebookApp] Serving notebooks from local directory: /notebooks
[I 19:33:16.365 NotebookApp] 0 active kernels
[I 19:33:16.365 NotebookApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/
[I 19:33:16.366 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
然而,当我试图访问localhost:8888的jupyter笔记本时,chrome表示在几秒钟内无法访问该网站,并且该服务器拒绝连接。
我尝试过的解决方案:
遵循this stackoverflow post中的建议。当我运行命令时,他们建议启动一个新的tensorflow容器,我收到错误:
exec: "./run_jupyter.sh": stat ./run_jupyter.sh: no such file or directory
docker: Error response from daemon: Container command not found or does not exist..
我也像他们建议的那样使用virtualbox更改了端口设置,这似乎也没有什么区别。
当我使用命令 docker-machine ls 时,我尝试了为驱动程序列出的IP地址,而不是去localhost。这里没有运气。
我的第一次尝试是使用docker附带的quickstart终端,我被困在同一个地方。所以现在我有一个"默认",从我使用quickstart终端设置docker时,和#34; my-default",从我使用powershell设置docker时开始。 Stackexchange评论说,快速入门终端不仅仅使用PowerShell,所以我开始使用PowerShell。
尝试使用 docker-machine env 更改哪个驱动程序处于活动状态,然后为该驱动程序的IP地址运行tensorflow run命令,但仍然没有运气。
尝试跳过jupyter笔记本,只是在命令行中通过python运行所有内容,如tensorflow安装的下一步所示("从命令行运行tensorflow")我不能甚至从那里导入张量流:
>>> import tensorflow as tf
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named tensorflow
我不知道如果不首先运行jupyter这是否可行,但我认为值得一试。这个问题可能与这篇文章的内容无关,但如果有人知道为什么会这样,那也会有所帮助。
我感谢所提供的任何和所有帮助。如果我说的任何内容含糊不清,或者我可以提供有关我尝试过的更多细节,请告诉我。非常感谢你提前。
答案 0 :(得分:2)
尝试将-p 8888:888添加到docker run命令。
docker run -p 8888:8888 -it b.gcr.io/tensorflow/tensorflow
获得解决方案here。
答案 1 :(得分:1)
对于ubuntu 14.04,我必须使用以下命令指定'/ bin / bash',以便它进入交互式控制台。
docker run -it gcr.io/tensorflow/tensorflow /bin/bash