如何在Google Cloud Platform上使用docker镜像中的neo4j

时间:2017-12-13 03:37:52

标签: docker neo4j google-cloud-platform google-compute-engine

我想从谷歌云外壳运行neo4j,我已经深入了解我的项目。

目前我正在使用以下内容来运行neo4j

docker run \
--publish=7474:7474 \
--volume=$HOME/neo4j/data:/data \
--volume=$HOME/neo4j/logs:/logs \
neo4j:3.0

该命令有效并打印以下输出:

Starting Neo4j.
2017-12-13 03:22:34.661+0000 INFO  ======== Neo4j 3.0.12 ========
2017-12-13 03:22:34.681+0000 INFO  No SSL certificate found, 
generating a self-signed certificate..
2017-12-13 03:22:35.163+0000 INFO  Starting...
2017-12-13 03:22:35.631+0000 INFO  Bolt enabled on 0.0.0.0:7687.
2017-12-13 03:22:37.966+0000 INFO  Started.
2017-12-13 03:22:39.041+0000 INFO  Remote interface available at 
http://0.0.0.0:7474/

但是,当我点击指向http://0.0.0.0:7474/的链接时,它会重定向到类似https://7474-dot-3282369-dot-devshell.appspot.com/?authuser=0的内容,并收到错误消息:

Error: Could not connect to Cloud Shell on port 7474.

我可以采取哪些不同的方式或您需要哪些其他信息?谢谢。

1 个答案:

答案 0 :(得分:1)

我认为您正面临以下两个问题之一:

<强> 1。如果您在另一台计算机上进行ssh,并且服务器正在那里运行

问题是您从Google Cloud Shell访问了一个实例,然后通过docker启动了服务器。此时我认为您在端口7474上单击(#34; Web预览&#34;同一个窗口! 但是服务器在另一台机器上运行!

因此,Cloud Shell通知您没有侦听端口7474.要解决此问题,您需要检索实例的公共/外部IP,创建允许TCP:7474流量的防火墙规则并从任何连接到它浏览器http://ip-your-machine:7474

<强> 2。如果您在Google Cloud Shell中运行服务器

首先,您不应该在Google Cloud Shell上运行服务器,它不是普通的虚拟机,您永远不应该依赖它。

顺便说一下,我一步一步地遵循你的所作所为: 我访问了Google Cloud Shell,我运行了你的代码,我获得了相同的输出,但是当我完成了#34; Web预览&#34;我正确地想象了neo4j登录页面。

因此,我相信如果你在这里运行服务器,你会在检查&#34; Web预览&#34;之前无意中停止它。

<强> P.S。

您被重定向到的奇怪域名:https://7474-dot-3282369-dot-devshell.appspot.com是一个域名,与您在端口7474上的Google Cloud Shell#3282369完全相同。

您将自动重定向,点击Cloud Shell中的链接(自您从计算机cannot reach 0.0.0.0开始)。