我安装了 docker 和 tensorflow 图像,但无法使用 jupyter notebook 在浏览器中打开。
我错过了什么??
使用的命令: docker run -it -v/home/$USER_NAME/tf_files:/tf_files gcr.io/tensorflow/tensorflow
其中“gcr.io/tensorflow/tensorflow”是 tensorflow 图像,“/home/surya”是$HOME。
in terminal
output in browser
PS:docker 安装是正确的,因为“docker run hello-world”给出了所需的消息。
最佳答案
你错过了绑定(bind)一些端口。 tensorflow 的官方文档提供了带有以下命令的暴露端口:
docker run -it -p 8888:8888 -v /home/surya/tf_files:/tf_files gcr.io/tensorflow/tensorflow
其中
-p 8888:8888
的意思是:将我本地机器的8888端口与容器中的服务链接起来,也是8888,然后就可以在http://localhost:8888访问服务为什么我必须映射端口?
您的容器显示以下内容:
Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
http://localhost:8888/?token=1b3ec72ff1ed67f77a09beaee1dc4b9ad4e7aee26401b6f0
这意味着您必须使用端口 8888 连接到容器内正在运行的进程。要使容器的端口可以从您的本地机器访问,您必须将
-p 8888:8888
添加到您的命令中。然后访问从您的容器提供给您的 URL 就可以通过您的本地浏览器访问容器的笔记本。关于docker本地主机url未打开,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41426846/