docker export/save/commit

Docker 提供了三种用于保存和迁移镜像和容器的方法:docker export、docker save 和 docker commit。这些命令的区别如下:

docker export:

docker export 用于将一个正在运行或已停止的容器导出为一个 tar 存档文件。此命令将容器的文件系统导出为一个 tar 文件,但不会保存容器的历史记录和元数据。这意味着在导出后,容器的镜像层信息将丢失。这使得导出的 tar 文件更加紧凑,但也导致了一些功能的损失。

使用 docker export 的命令格式为:

docker export <container_id> > <your-tar-file-name>.tar

使用 docker import 可以从导出的 tar 文件创建一个新的镜像。这个新镜像不会包含原始容器的历史记录和元数据。

docker save:

docker save 用于将一个或多个镜像保存为一个 tar 存档文件。与 docker export 不同,docker save 会保留镜像的所有层、元数据和历史记录。这使得使用 docker save 保存的镜像可以在不同的系统上完整地迁移和还原。

使用 docker save 的命令格式为:

docker save -o <your-tar-file-name>.tar <your-image-name>

使用 docker load 可以从保存的 tar 文件加载镜像。加载的镜像将包含完整的层、元数据和历史记录。

docker commit:

docker commit 用于将对一个容器所做的更改保存为一个新的镜像。这意味着,当您修改容器(例如,安装软件或更改配置)后,您可以使用 docker commit 创建一个包含这些更改的新镜像。docker commit 会保留容器的历史记录和元数据。

使用 docker commit 的命令格式为:

docker commit <container_id> <new-image-name>

总结:

docker export:将容器导出为一个 tar 存档文件,但不保留历史记录和元数据。

docker save:将一个或多个镜像保存为一个 tar 存档文件,并保留历史记录和元数据。

docker commit:将对容器所做的更改保存为一个新的镜像,并保留历史记录和元数据。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...