Neo4j docker撰写图像拒绝连接到应用程序
Neo4j docker撰写图像拒绝连接到应用程序,docker,neo4j,docker-compose,Docker,Neo4j,Docker Compose,我曾经单独运行Neo4j,然后我的应用程序根据需要与之交互。现在我正在使用docker compose运行Neo4j 这是我在docker文件中的neo4j部分 neo4j: container_name: neo4j_container restart: always image: neo4j:3.5.3 network_mode: "bridge" ports: - "7474:7474" - "6477:6477"
我曾经单独运行Neo4j,然后我的应用程序根据需要与之交互。现在我正在使用
docker compose
运行Neo4j
这是我在docker文件中的neo4j
部分
neo4j:
container_name: neo4j_container
restart: always
image: neo4j:3.5.3
network_mode: "bridge"
ports:
- "7474:7474"
- "6477:6477"
- "7687:7687"
- "7473:7473"
environment:
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
- NEO4J_dbms_security_procedures_unrestricted=apoc.*
- NEO4J_apoc_import_file_enabled=true
- NEO4J_dbms_shell_enabled=true
- NEO4J_dbms_connector_http_listen__address=:7474
- NEO4J_dbms_connector_https_listen__address=:6477
- NEO4J_dbms_connector_bolt_listen__address=:7687
volumes:
- /usr/local/abc/temp:/var/lib/neo4j/import
我正在使用的Neo4j
图像,如您所见是Neo4j:3.5.3
当我从
localhost:7474
在docker compose up
之后尝试访问neo4j
时,它完全可以正常工作但是,当我试图通过我的应用程序访问它时,它会出现以下错误
Unable to connect to localhost:7687, ensure the database is running and that there is a working network connection to it.<br>
无法连接到localhost:7687,请确保数据库正在运行,并且有一个可用的网络连接到它。
试图从这个问题上寻求帮助,但甚至没有帮助。以下是docker compose ps的
输出:
如果我遗漏了什么,请告诉我 您应该在应用程序中使用机器ip:7687
连接到neo4j
在您的案例中,neo4j
正在网络模式下运行,其中容器网络与主机网络不同。所以,为了从外部世界访问在这样的容器中运行的应用程序,您必须使用docker compose中的ports:
字段来执行此操作
现在我猜尝试访问neo4j
的应用程序也在bridge
网络模式下运行。因此,在应用程序中放置localhost:7687
将指向该容器的localhost
,但您希望连接到neo4j
容器端口7687,我们已经使用ports
选项将其映射到主机网络。在这种情况下,您的neo4j
端口7687可以使用机器ip:7687从外部世界访问
希望这能有所帮助。您是否尝试过使用ip:7687wow机器从应用程序进行连接?它成功了。你可以回答这个问题,我会接受的,如果可能的话,告诉我实际的问题是什么?还有一件事,请看我的docker图像中的导入地址?它应该从/usr/local/abc/temp/output.csv
中选择csv
文件,而不是尝试从/var/lib/neo4j/import/usr/local/polymer/temp/user-data9693_output.csv中查找文件。你可以问我那个问题。完成,更新我的答案。将检查csv
文件问题。修复了csv问题,谢谢。