Neo4j:如何将数据保存到neo4j图像?

我正在使用Neo4j泊坞窗图像和创build容器。 然后将一些数据添加到容器中。

现在,我想将容器导出为图像,以便将来使用包含在Docker镜像中的数据

How can I do it?

可以使用命令docker commit <container-name> <target-image-name>将docker容器docker commit <container-name> <target-image-name>

但是 ,如docker commit命令文档中所述 :

提交操作将不包含容器内安装的卷中包含的任何数据。

neo4j映像将 /data声明为一个卷,因此commit命令将不包含您创build的存储在容器内的/data下的/data 。 您需要复制该文件夹并将其复制回新的容器中。

 docker cp <old-container-name>:/data container-data docker run -v container-data:/data <commited-image> 

更新

如果你想把数据放在提交的图像中,则创build一个自定义图像,如下所示:

 FROM <commited-image> COPY container-data /data 

一旦你使用docker build构build这个镜像,你应该得到一个与正在运行的容器完全相同的镜像。 然后,您可以将此映像推送到dockerregistry,并在另一台主机上运行。

1)你需要使用docker build命令来先构build镜像,即docker build [OPTIONS] PATH | url| – 2)使用Docker push命令将该映像推送到您的存储库中心docker push [OPTIONS] NAME [:TAG]

之后你可以通过docker pull来下载这个图片

命令docker commit是为此而devise的。

看文档

https://docs.docker.com/engine/reference/commandline/commit/

例如,如果

docker ps

用id显示我的容器

123abc456def

和名字

Neo4j的

我也可以做

docker commit 123abc456def myuser/myimage:myversion

要么

docker commit neo4j myuser/myimage:myversion

所以

docker images

现在将显示我提交的图像