我想使用谷歌云计算引擎的jupyter笔记本。当我尝试通过命令行启动它时,我无法使用浏览器打开笔记本。
请告诉我如何操作。
答案 0 :(得分:1)
看起来您正在尝试在VM上启动Jupyter笔记本服务器,并希望使用VM的外部IP访问它(假设您没有在VM上禁用外部IP选项)。
您需要执行以下操作:
jupyter_notebook_config.py
目录中的~/.jupyter
。请仔细检查what you need to modify以及如何secure your notebook server,因为Jupyter笔记本默认只监听环回接口(即127.0.0.1
又名localhost
)。 您应取消注释的最小配置选项集
jupyter_notebook_config.py
中的修改如下:# Set options for certfile, ip, password, and toggle off # browser auto-opening c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem' c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key' # Set ip to '*' to bind on all interfaces (ips) for the public server c.NotebookApp.ip = '*' c.NotebookApp.password = u'sha1:bcd259ccf...<your hashed password here>' c.NotebookApp.open_browser = False # It is a good idea to set a known, fixed port for server access c.NotebookApp.port = 9999
网络使用网络标记来标识哪些实例 受某些防火墙规则和网络路由的限制。例如,如果 你有几个服务于大型网站的VM实例标签 这些实例使用共享的单词或术语,然后使用该标记 应用允许HTTP访问这些实例的防火墙规则。标签 也反映在元数据服务器中,因此您可以使用它们 应用程序在您的实例上运行创建防火墙时 规则,您可以提供
sourceRanges
或sourceTags
,但不能同时提供。{/ p>
# Assuming Jupyter notebook is running on port 9999
# Add a new tag based firewall rule to allow ingress tcp:9999
gcloud compute firewall-rules create rule-allow-tcp-9999 --source-ranges 0.0.0.0/0 --target-tags allow-tcp-9999 --allow tcp:9999
# Add the allow-tcp-9999 target tag to the VM named say 'vm-1'
gcloud compute instances add-tags vm-1 --tags allow-tcp-9999
# If you want to list all the GCE firewall rules
gcloud compute firewall-rules list
可能需要几秒钟到几分钟才能使更改生效。
或者,您也可以使用Google Cloud Console代替gcloud来配置防火墙规则。您可以查看详细解释的this answer。
答案 1 :(得分:0)
您还可以“创建防火墙规则”以允许您的jupyter c.NotebookApp.port
号码
refer this image将协议和端口设置为tcp:<jupyter port number>