【问题标题】:How to use neo4j from a docker image on the Google Cloud Platform如何在 Google Cloud Platform 上使用 docker 镜像中的 neo4j
【发布时间】:2018-05-26 21:01:24
【问题描述】:

我想从 google cloud shell 运行 neo4j,并且我已经 ssh 进入我的项目。

目前我正在使用以下运行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.

我可以做些什么不同的事情,或者您需要哪些额外信息?谢谢。

【问题讨论】:

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


    【解决方案1】:

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

    1.如果你在另一台机器上 ssh 并且服务器正在那里运行

    问题是您从 Google Cloud Shell 访问了一个实例,然后您通过 docker 启动了服务器。在这一点上,我认为您(不是故意)在端口 7474 上连接到 Cloud Shell,单击同一窗口的“Web 预览”! 但是服务器在另一台机器上运行!

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

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

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

    顺便说一句,我一步一步地跟着你做了: 我访问了 Google Cloud Shell,运行了您的代码,得到了完全相同的输出,但是当我完成“网络预览”后,我正确地看到了 neo4j 登录页面。

    因此,我相信如果您在这里运行服务器,您在检查“Web 预览”之前无意中停止了它。

    附言

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

    点击 Cloud Shell 中的链接会自动重定向您(因为您在计算机上cannot reach 0.0.0.0)。

    【讨论】:

    • 好吧,这是有道理的。实际上是案例#2。当我登录去登录时,你知道主机应该是什么吗?我知道默认名称和密码都是neo4j。我尝试输入我的vm的外部ip,但它不起作用,返回ServiceUnavailable: WebSocket connection failure.
    • 对不起,我不确定我是否理解你的问题,你能登录吗?当我在端口 7474 上连接到 Web Preview 时,我可以登录并更改密码;然后我可以浏览文档,运行代码,ecc。你从哪里得到这个错误?你把 IP 放在哪里了?
    • 我无法登录。当我转到7474-dot-3282369-dot-devshell.appspot.com 时,我得到一个neo4j 浏览器,如果您输入:server connect,就会出现窗口。共有三个框:主机、用户名和密码。我尝试将ip作为主机,这是我要弄清楚的主机。
    • 这真的很奇怪,因为我只有两个框:用户名和密码。尝试停止服务器并重新运行代码:docker run --publish=7474:7474 --volume=$HOME/neo4j/data2:/data --volume=$HOME/neo4j/logs2:/logs neo4j:3.0我只更改了卷名,这样你将在一个全新的环境中启动。
    • 我识别出您链接到的登录表单,因为这是我在其他地方运行 neo4j 时通常得到的登录表单。但是,我无法登录,因为我仍然需要找出主机。也许我会提出一个新问题,这样当我弄清楚答案时,答案就不会被埋没在这些 cmets 中。无论如何,你一直很有帮助,所以谢谢你!
    猜你喜欢
    • 2020-12-30
    • 2015-12-12
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 2020-04-08
    • 1970-01-01
    相关资源
    最近更新 更多