ubuntu - 为什么我的 Neo4j 图像的多个容器与 Docker 共享数据?

标签 ubuntu docker neo4j

我正在尝试设置 Docker 和 Neo4j。我想在 3 个不同的端口上创建 3 个独立的数据库。

获取图像: sudo docker pull neo4j

然后我像这样创建 3 个容器:

sudo docker run -d --publish=7474:7474 --publish=7687:7687 --volume=$HOME/db-neo-test-01/data:/data --volume=$HOME/db-neo-test-01/logs:/logs neo4j:latest

sudo docker run -d --publish=7475:7474 --publish=7688:7687 --volume=$HOME/db-neo-test-02/data:/data --volume=$HOME/db-neo-test-02/logs:/logs neo4j:latest

sudo docker run -d --publish=7476:7474 --publish=7689:7687 --volume=$HOME/db-neo-test-03/data:/data --volume=$HOME/db-neo-test-03/logs:/logs neo4j:latest

然后我连接到 <ipaddress>:7474设置初始密码。

现在当我连接到另一个端口时 7475 ,我突然设置了一个密码,如果我在这里添加一个节点,我可以在所有其他容器中检索到这个节点。

如何设置它以便隔离数据,并且我可以为每个数据库实例使用不同的密码?

最佳答案

I connect to <ipaddress>:7474 to set up the initial password. Now when I connect to the other port 7475, I suddenly have set up a password, and if I add a node here, I can retrieve this node in all the other containers.

您看到此行为是因为 Neo4j Browser连接到 bolt://<ipaddress>:7687默认情况下。

所以即使您在 <ipaddress>:7475 访问 Neo4j 浏览器, 它连接到 bolt://<ipaddress>:7687 ,并且您仍然看到来自第一个容器的数据。

How do I set this up so the data is isolated, and I can use different passwords for each database instance?

  • 导航到 <ipaddress>:7475在网络浏览器中。
  • 点击边栏中的齿轮图标,打开“浏览器设置”面板。
  • 输入bolt://<ipaddress>:7688在“网络连接”部分下的“URI”字段中。
  • 重新加载页面并确认您现在可以设置不同的密码,并且您不再看到第一个容器中的数据。

关于ubuntu - 为什么我的 Neo4j 图像的多个容器与 Docker 共享数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41408221/

相关文章:

ubuntu - docker登录错误: no such host

linux - Oracle 12c Ubuntu 17.04 安装报错

docker - 进行dockerized构建,缓存依赖项拉取层

transactions - 引用neo4j数据库,事务是什么意思

java - Neo4J TokenStore Spring oauth2

neo4j - 如何在neo4j中仅限制特定节点?

ubuntu - 需要帮助在 Ubuntu 上安装 Shopware6

docker - 为什么我用Kubernetes在Ceph上收到 “Structure needs cleaning”消息?

php - 如何在Docker容器中为Laravel运行和安装Protractor E2E测试?

python-3.x - Ubuntu 终端打开 Python 而不是运行 Python 文件