我正在使用 neomodel 和 django-neomodel 使用 neo4j db 开发 django 项目。我正在尝试使用 docker-compose 将其容器化。当我构建图像时,一切似乎都很好,但是使用螺栓从 Web 容器到数据库的任何连接都被拒绝。虽然我可以通过 http 上的浏览器访问 neo4j 数据库,甚至可以通过螺栓上的本地计算机访问 neo4j 数据库。这是我得到的错误:
neo4j.exceptions.ServiceUnavailable: Failed to establish connection to ('127.0.0.1', 7688) (reason 111)
我正在使用以下配置:
<pre>Django == 3.1.1
neo4j==4.1.0
neomodel==3.3.0
neobolt==1.7.17 </pre>
这是我的 docker-compose 文件:
version: '3'
services:
backend:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/app
ports:
- "8000:8000"
depends_on:
- neo4j_db
networks:
- mynetwork
links:
- neo4j_db
neo4j_db:
image: neo4j:3.5.17-enterprise
ports:
- "7474:7474"
- "7688:7687"
expose:
- 7474
- 7687
volumes:
- ./db/dbms:/data/dbms
environment:
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
- dbms.connector.bolt.listen_address=:7688
- dbms.connector.bolt.advertised_address=:7688
networks:
- mynetwork
networks:
mynetwork:
driver: bridge
这是 django 设置中的连接配置:
NEOMODEL_NEO4J_BOLT_URL = os.environ.get('NEO4J_BOLT_URL', 'bolt://neo4j:pass@123@127.0.0.1:7688')
提前致谢..