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

时间:2017-12-22 06:05:53

标签: docker neo4j

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

现在我想将容器导出为图像以供将来使用并且数据包含在docker image中。

How can I do it?

3 个答案:

答案 0 :(得分:1)

可以使用命令docker commit <container-name> <target-image-name>将docker容器提交到图像中。

HOWEVER ,如docker commit command docs中所述:

  

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

neo4j image/data声明为卷,因此commit命令不会包含您创建的数据,该数据存储在容器内的/data下。 您需要手动复制此文件夹并将其复制回新容器。

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

<强>更新

如果要将数据放入提交的图像中,请创建自定义图像:

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

使用docker build构建此图像后,您应该获得与正在运行的容器相同的图像。然后,您可以将此图像推送到 docker注册表并在其他主机上运行。

答案 1 :(得分:0)

1)您需要使用docker build命令才能首先构建图像 即docker build [OPTIONS] PATH |网址| - 2)使用Docker push命令将该映像推送到存储库中心 docker push [OPTIONS] NAME [:TAG]

之后您可以通过docker pull下载使用该图像

答案 2 :(得分:0)

命令docker commit就是为此设计的。

参见文档

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

现在将显示我的提交图像