如何导入导出Docker镜像image

2019-09-20 06:40:45   Docker

save和load导出导入Docker镜像

save

docker save [options] images [images...]

file

save

示例:

docker save -o redis.tar redis:latest

docker save > redis.tar redis:latest

其中-o和>表示输出到文件,redis.tar为目标文件,redis:latest是源镜像名(name:tag),也可以直接用镜像的id。

load

docker load [options]

示例:

docker load -i redis.tar

docker load < redis.tar

其中-i和<表示从文件输入。会成功导入镜像及相关元数据,包括tag信息

export和import导出导入Docker镜像

export

docker export [options] container

示例:

docker export -o redis-container.tar redis-container

其中-o表示输出到文件,redis-container.tar为目标文件,redis-container是源容器名(name)

import

docker import [options] file|URL|- [REPOSITORY[:TAG]]

示例:

docker import redis-container.tar redis:test

cat redis-container.tar | docker import - redis:test

区别

  • export命令导出的tar文件略小于save命令导出的
  • export命令是从容器(container)中导出tar文件,而save命令则是从镜像(images)中导出
  • 基于第二点,export导出的文件再import回去时,无法保留镜像所有历史(即每一层layer信息,不熟悉的可以去看Dockerfile),不能进行回滚操作;而save是依据镜像来的,所以导入时可以完整保留下每一层layer信息。如下图所示,nginx:latest是save导出load导入的,nginx:imp是export导出import导入的。

参考:https://blog.csdn.net/ncdx111/article/details/79878098

vien.tech版权所有,允许转载,但转载请注明出处和原文链接: https://viencoding.com/article/203
欢迎小伙伴们在下方评论区留言 ~ O(∩_∩)O
文章对我有帮助, 点此请博主吃包辣条 ~ O(∩_∩)O

猜你喜欢


评论

There are no comments yet.
未登录

登录后即可发表评论

登录或注册

亲情非友情链接