理解:
在开始讲之前我先说一下我自己的理解,不对的地方还希望多多指正:
docker import和docker load -i 都是可以进行镜像的导入的。比如,docker import命令将命令进行导入的时候不会将镜像的历史记录等东西导进去,而docker load -i命令则是可以将历史数据进行导入。就相当于将这个程序进行了配置,配置好之后我用docker import进行导入的话只能得到一个全新的程序在容器中,我之前配置的东西都没有了。但是用我们的docker load -i命令的话,我们就可以将制作出来的程序或镜像压缩包进行完全的导入,保证了原先的设置。
以下是我在网上查到的觉得比较靠谱的解释:
当使用docker import命令导入镜像时,它只会导入镜像的文件和元数据,而不会包含构建历史、标签和其他附加信息。换句话说,通过docker import导入的镜像可以被视为全新的镜像,没有任何与原始镜像相关的信息。
而当使用docker load -i命令导入镜像时,它会还原保存的镜像以及其完整的历史记录、标签和元数据。这意味着通过docker load -i导入的镜像可以完全还原为原始镜像,包括构建历史和其他元数据。
因此,如果您希望保留原始镜像的完整设置、配置和历史记录,您应该使用docker load -i命令进行导入。而如果您只关注镜像的文件和元数据,并且不需要保留构建历史等信息,那么您可以使用docker import命令进行导入。
总之,docker load -i提供了更完整的镜像还原,而docker import则提供了更简单和轻量级的镜像导入方式。
区别:
docker import [image]
可以发现名称和标签没有,也就是说能够自定义修改。
docker load -i [image]
使用docker load -i 导入就会看到无论是名称还是标签都有值。