簡體   English   中英

如何在 Docker 中連接容器外的 mg_client?

[英]How to connect mg_client outside container in Docker?

我正在嘗試訪問 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 庫/適配器訪問每個數據存儲。 這是朝着它邁出的第一步。

反饋將不勝感激。

如果使用標准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-compose 3.5,可以定義網絡名稱,但我在Ubuntu 20.04上使用的是1.25。

使用它的好處是不必進行 IP 分辨率。 可以改用容器名稱。

連接到由 docker compose 運行的 Memgraph 實例

最后的幾點說明:

  • 如果升級到 Memgraph 1.3,可以使用--log-level=TRACE --also-log-to-stderr查看更多日志。
  • mg_client是一個不推薦使用的工具,因為您使用的是 Ubuntu,因此直接從主機安裝mgconsole和查詢 Memgraph 實例應該相對簡單。 未來有計划用 package mgconsole代替mg_client

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM