我正在尝试设置 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 port7475
, 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/