前言
docker允许我们自定义生成和修改配置,那么我们如何备份和传输这些自定义镜像??
重新看一看docker的整体架构图
其实docker提供save&load这两个命令支持镜像和文件之间的转化
docker save
1. 描述
Save one or more images to a tar archive (streamed to STDOUT by default)
将一个或者多个镜像保存成tar文件(默认不带参数是标准输出流)
docker save [OPTIONS] IMAGE [IMAGE…]
Name, shorthand | Default | Description |
---|---|---|
--output , -o | Write to a file, instead of STDOUT |
2. 演示
[root@localhost ~]# docker save rabbitmq:3.8.9-management -o myrabbitmq.tar
即: docker save 镜像名 -o 名称.tar
重点:镜像名最好写全,带上版本号
,不然load之后就是下面这种情况,REPOSITORY和TAG都是none
;
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 437def336c7b 2 days ago 186MB
docker load
点击查看官方文档 docker load
1. 描述
Load an image from a tar archive or STDIN
从一个tar文件或者标准输入流加载还原一个镜像
docker load [OPTIONS]
Name, shorthand | Default | Description |
---|---|---|
--input , -i | Read from tar archive file, instead of STDIN【从文件中读取而不是标准输入流】常用 | |
--quiet , -q | Suppress the load output【抑制加载输出】 |
2.演示
[root@localhost ~]# ll
total 186504
-rw-r--r--. 1 root root 190979072 Sep 27 10:42 myrabbit.tar
myrabbit.tar是我用save命令生成的
现在开始加载还原镜像
[root@localhost ~]# docker load -i myrabbit.tar
6effd95c47f2: Loading layer [==================================================>] 65.61MB/65.61MB
4ad5df11bd98: Loading layer [==================================================>] 15.87kB/15.87kB
a2d674c9d7ed: Loading layer [==================================================>] 3.072kB/3.072kB
0ef6fb7df04c: Loading layer [==================================================>] 2.549MB/2.549MB
9b490aab2797: Loading layer [==================================================>] 73.48MB/73.48MB
0251235e3da5: Loading layer [==================================================>] 407.6kB/407.6kB
eb236ded0239: Loading layer [==================================================>] 17.45MB/17.45MB
afe0baacf871: Loading layer [==================================================>] 4.608kB/4.608kB
8333d254a5e8: Loading layer [==================================================>] 1.536kB/1.536kB
b3658fd2be3d: Loading layer [==================================================>] 16.38kB/16.38kB
09e5285b5054: Loading layer [==================================================>] 3.072kB/3.072kB
91c438a04707: Loading layer [==================================================>] 3.072kB/3.072kB
a6e379769172: Loading layer [==================================================>] 31.37MB/31.37MB
Loaded image: rabbitmq:3.8.9-management
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rabbitmq 3.8.9-management 437def336c7b 2 days ago 186MB
另docker load -i myrabbit.tar
也可以换用docker load < myrabbit.tar