Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker compose不加载数据_Docker_Neo4j_Docker Compose - Fatal编程技术网

docker compose不加载数据

docker compose不加载数据,docker,neo4j,docker-compose,Docker,Neo4j,Docker Compose,我有一个现有的neo4j图像,其中包含数据,我使用以下docker run命令运行该图像 docker run--publish=7474:7474--volume=$HOME/neo4jdev/data:/data neo4j 当我在http://192.168.99.100:7474/browser/,我确认我的容器中存在节点 我想做的是使用docker compose而不是docker run来运行我的服务。这就是我的docker compose.yml的样子 version: '2' s

我有一个现有的neo4j图像,其中包含数据,我使用以下
docker run
命令运行该图像

docker run--publish=7474:7474--volume=$HOME/neo4jdev/data:/data neo4j

当我在
http://192.168.99.100:7474/browser/
,我确认我的容器中存在节点

我想做的是使用
docker compose
而不是
docker run
来运行我的服务。这就是我的
docker compose.yml
的样子

version: '2'
services:
  neo4jdev:
    image: neo4j
    ports: 
         - "7474:7474"
    volumes: 
         - $HOME/neo4jdev/data
我使用
docker compose-up
运行此操作

但是当我检查我的浏览器时,我得到一个没有节点的空数据库。它似乎只加载最新的neo4j图像。

请改用此图像

volumes:
  - $HOME/neo4jdev/data:/data
所以你的docker-compose.yml应该是这样的

version: '2'
services:
  neo4jdev:
    container_name: n4j
    image: neo4j
    ports: 
         - "7474:7474"
    volumes: 
         - $HOME/neo4jdev/data:/data

docker-compose up -d
然后使用

docker exec n4j ls -al /data
这给了我

total 16
drwxr-xr-x  4 root root 4096 Sep 12 11:16 .
drwxr-xr-x 51 root root 4096 Sep 12 11:20 ..
drwxr-xr-x  3 root root 4096 Sep 12 11:16 databases
drwxr-xr-x  2 root root 4096 Sep 12 11:16 dbms
用这个代替

volumes:
  - $HOME/neo4jdev/data:/data
所以你的docker-compose.yml应该是这样的

version: '2'
services:
  neo4jdev:
    container_name: n4j
    image: neo4j
    ports: 
         - "7474:7474"
    volumes: 
         - $HOME/neo4jdev/data:/data

docker-compose up -d
然后使用

docker exec n4j ls -al /data
这给了我

total 16
drwxr-xr-x  4 root root 4096 Sep 12 11:16 .
drwxr-xr-x 51 root root 4096 Sep 12 11:20 ..
drwxr-xr-x  3 root root 4096 Sep 12 11:16 databases
drwxr-xr-x  2 root root 4096 Sep 12 11:16 dbms

我刚刚试过,数据库就创建好了。我会在我的答案中添加更多细节。如果它仍然不起作用,很可能是由$HOME变量引起的。将您的
docker信息
docker版本
添加到您的问题中。是的,它现在起作用了。您能否确认,当我在数据库中添加节点时,它们存储在我的本地数据文件夹中,而不是容器文件夹中?如果您使用的是Docker for Mac/windows或Docker Toolbox,您的本地用户目录将装载在主机上,以便可以访问。通过启动一个一次性容器并查看卷的内容,可以轻松地对其进行测试<代码>docker run--rm-v$HOME/neo4jdev/data:/temp alpine ls-al/temp我刚刚尝试过,数据库就创建好了。我会在我的答案中添加更多细节。如果它仍然不起作用,很可能是由$HOME变量引起的。将您的
docker信息
docker版本
添加到您的问题中。是的,它现在起作用了。您能否确认,当我在数据库中添加节点时,它们存储在我的本地数据文件夹中,而不是容器文件夹中?如果您使用的是Docker for Mac/windows或Docker Toolbox,您的本地用户目录将装载在主机上,以便可以访问。通过启动一个一次性容器并查看卷的内容,可以轻松地对其进行测试<代码>docker运行--rm-v$HOME/neo4jdev/data:/temp alpine ls-al/temp