docker导入导出镜像

save和export区别:

  1. docker save保存的是镜像(image),docker export保存的是容器(container);
  2. docker load用来载入镜像包,docker import用来载入容器包,但二者都会恢复为镜像;
  3. docker load不能对载入的镜像重命名,而docker import能够为镜像指定新名称。

保存镜像

保存(Save)

 # 保留原镜像的名称和标签
 docker save <IMAGE NAME>:<IMAGE TAG> > save.tar
 # 不保留原镜像的基本信息,加载load后需执行tag命令重命名none镜像
 docker save <IMAGE ID> > save.tar 
复制代码

示列:docker

docker save elasticsearch:7.1.1 > elasticsearch-7.1.1.tar
#
docker save b0cb1543380d > elasticsearch-7.1.1.tar
复制代码

加载(Load)

docker load < save.tar
复制代码

示列:shell

docker load < elasticsearch-7.1.1.tar
复制代码

导出容器

导出(Export)

docker export <CONTAINER ID> > export.tar
复制代码

示列:bash

docker export b0cb1543380d > elasticsearch-7.1.1.tar
复制代码

导入(Import)

docker import export.tar <IMAGE NAME>:<IMAGE TAG>
复制代码

示列:elasticsearch

docker import elasticsearch-7.1.1.tar elasticsearch:7.1.1
复制代码

提交(Commit)

使用commit命令能够把一个正在运行的容器变成一个新的镜像。spa

docker commit <CONTAINER ID> <IMAGE NAME>:<IMAGE TAG>
复制代码

示列:code

docker commit b0cb1543380d elasticsearch:latest
复制代码

问题(None)

docker加载新的镜像后repository和tag名称都为none的解决方法get

REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
<none>                <none>              b0cb1543380d        2 months ago        847MB
复制代码

方案 : 标签(tag)it

docker tag <IMAGE ID> <IMAGE NAME>:<IMAGE TAG>
复制代码

示列:ast

docker tag b0cb1543380d elasticsearch:7.1.1
复制代码
相关文章
相关标签/搜索