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问题,谢谢。