neo4j&。NetCore Docker设置
我想用Docker设置neo4j数据库和.NetCore Web Api。我创建了以下docker compose文件:neo4j&。NetCore Docker设置,docker,.net-core,neo4j,docker-compose,neo4jclient,Docker,.net Core,Neo4j,Docker Compose,Neo4jclient,我想用Docker设置neo4j数据库和.NetCore Web Api。我创建了以下docker compose文件: version: '3.4' services: server: image: ${DOCKER_REGISTRY-}server network_mode: "bridge" build: context: . dockerfile: Server/Dockerfile stdin_open:
version: '3.4'
services:
server:
image: ${DOCKER_REGISTRY-}server
network_mode: "bridge"
build:
context: .
dockerfile: Server/Dockerfile
stdin_open: true
tty: true
environment:
- CHOKIDAR_USEPOLLING=true
depends_on:
- neo4j
neo4j:
image: "neo4j:latest"
network_mode: "bridge"
ports:
- "7474:7474"
- "7687:7687"
volumes:
- $HOME/neo4j/data:/data
- $HOME/neo4j/logs:/logs
- $HOME/neo4j/import:/var/lib/neo4j/import
- $HOME/neo4j/plugins:/plugins
environment:
- NEO4J_AUTH=neo4j/admin
在.NetCore服务器中,我检查是否可以访问neo4j地址(172.17.0.3:7474),该地址有效。连接到Neo4J数据库无法使用以下代码:
_client = new GraphClient(new Uri("http://172.17.0.3:7474/db/data/"), "neo4j", "admin");
_client.Connect();
错误消息是:
System.Exception: 'Received an unexpected HTTP status when executing the request.
The response status was: 404 Not Found
该库尚未完全支持Neo4J4.x(仍在开发中)
您可以使用旧的Neo4j映像(使用
Neo4j:3.5.19
成功连接),也可以使用其他映像。1。是否需要将网桥指定为网络模式?默认的网络驱动程序是网桥。如果未指定驱动程序,则这是您正在创建的网络类型。2.Docker的内置DNS从容器/服务名称解析IP地址,请尝试仅使用服务名称。@abestrad 1。我知道,我只是强迫它100%确定网桥是当前的网络类型,我想它没有进一步的副作用,所以我可以保持它正确吗?2.你能详细解释一下吗,我只是研究了一下,但找不到合适的例子,我能用这样的服务替换ip地址吗<代码>\u client=new GraphClient(新Uri(“http://neo4j:7474/db/data/“neo4j”、“admin”)代码>有相同的问题。但在本地,如果我尝试在浏览器中,则不会在Docker中。但是尝试使用curl,它返回302。我想可能是Neo4j的企业版造成的,但我不确定。谢谢!我将图像从neo4j:latest
更改为neo4j:3.5
,解决了问题!