3

我正在尝试访问 docker 容器内的 mg_client,但不幸的是,我无法连接它。我已按照此处文档的说明进行操作

docker-compose.yaml

version: "3"
services:
  redis:
    image: redislabs/redisgraph
    container_name: redis
    restart: unless-stopped
    ports:
      - "6379:6379"

  memgraph:
    image: memgraph
    container_name: memgraph
    restart: unless-stopped
    ports:
      - "7687:7687"

CLI 返回错误 -

在此处输入图像描述

如图所示,Memgraph 已成功初始化。

在此处输入图像描述

奇怪的是,如果我在容器内执行它,我可以连接。

在此处输入图像描述

从我的角度来看,可能的错误是什么?

PS:我正在尝试创建一个同时运行 Memgraph、Neo4j 和 RedisGraph 并使用 Python 库/适配器访问每个数据存储的项目。这是朝着它迈出的第一步。

反馈将不胜感激。

4

1 回答 1

4

如果docker run使用标准,我已经设法连接。Memgraph 运行命令是

docker run --rm -p 7687:7687 --name test memgraph

Memgraph Docker 运行 mg_client

如果docker-compose使用,则必须定义网络:

version: "3"
services:
  memgraph:
    image: memgraph:1.3.0-community
    container_name: memgraph
    networks:
      - test_network
    container_name: memgraph
    restart: unless-stopped
    ports:
      - "7687:7687"
networks:
  test_network:
    driver: bridge

Memgraph docker-compose up

请注意确切的网络名称,因为docker-compose{{folder_name}}_{{network_name}}是网络名称。就我而言,那是stack_issue_test_network. 从docker-compose3.5 开始,可以定义网络名称,但我此时在 Ubuntu 20.04 上使用的是 1.25。

使用它的好处是不必进行 IP 解析。可以改用容器名称。

连接到由 docker compose 运行的 Memgraph 实例

最后的几点说明:

于 2021-02-13T11:26:11.310 回答