【发布时间】:2021-05-25 07:23:57
【问题描述】:
我已经完成了 ssh 端口转发,它在我的本地监听 2000。所以服务在 localhost:2000 上运行,它是 Neo4J 服务器。在我的本地,我可以通过提供bolt://localhost:2000 使用 Neo4J 桌面连接 Neo4J,并可以查看数据。
但我无法连接到 docker 容器中的主机 bolt://localhost:2000。
我在这里看了答案
From inside of a Docker container, how do I connect to the localhost of the machine?
我在 docker-compose.yml 中添加了额外的主机
flask_service:
build:
context: ./project
dockerfile: my_dockerfile
container_name: flask_container
stdin_open: true
tty: true
ports:
- 5000:5000
extra_hosts:
- "myhost:175.1.344.136"
175.1.344.136 是我的主机 IP
我在容器内同时使用了bolt://175.1.344.136:2000 和bolt://myhost:2000,但它没有连接。我也想知道bolt://175.1.344.136:2000或bolt://myhost:2000哪个是正确的方式
我收到一个错误
2021-05-25T10:53:55+0000.060 [INFO] neo4j_proxy.__init__:74 (8:Thread-11) - NEO4J endpoint: bolt://myhost:2000
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/neobolt/direct.py", line 831, in _connect
s.connect(resolved_address)
ConnectionRefusedError: [Errno 111] Connection refused
我正在使用 MacOs,请帮我解决这个问题。
提前致谢!
【问题讨论】:
-
您好,您可以提供整个 docker-compose.yml 文件吗?
-
@utnaf 我已经更新了描述
-
我会尝试在 extra_hosts 中使用
myhost:127.0.0.1并使用bolt://myhost:2000。不太确定,我需要时间试一试 -
@utnaf 尝试这样做。还是有同样的问题
-
错误是什么?
标签: python docker docker-compose neo4j