我正在使用Neo4j docker图像并创建了容器。然后将一些数据添加到容器中。
现在我想将容器导出为图像以供将来使用,其中包含docker image中包含的数据。
How can I do it?
可以使用命令qazxsw poi将docker容器提交到映像中。
但是,如docker docker commit <container-name> <target-image-name>
中所述:
提交操作将不包括容器内安装的卷中包含的任何数据。
commit command docs将neo4j image声明为卷,因此commit命令将不包含您创建的数据,该数据存储在容器内的/data
下。您需要手动复制此文件夹并将其复制回新容器中。
/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注册表并在其他主机上运行它。
1)你需要使用docker build命令才能首先构建图像,即docker build [OPTIONS] PATH |网址| - 2)使用Docker push命令将该图像推送到存储库中心docker push [OPTIONS] NAME [:TAG]
然后你可以通过docker pull下载来使用该图像
命令docker build
就是为此而设计的。
见文档
docker commit
例如,如果
https://docs.docker.com/engine/reference/commandline/commit/
用id显示我的容器
123abc456def
和名字
Neo4j的
我也可以
docker ps
要么
docker commit 123abc456def myuser/myimage:myversion
所以
docker commit neo4j myuser/myimage:myversion
现在将显示我的提交图像