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
现在将显示我提交的图像