docker导入导出镜像
2019-08-04 本文已影响0人
风静花犹落
save和export区别:
- docker save保存的是镜像(image),docker export保存的是容器(container);
- docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;
- docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。
保存(Save)
# 保留原镜像的名称和标签
docker save <IMAGE NAME>:<IMAGE TAG> > save.tar
# 不保留原镜像的基本信息,加载load后需执行tag命令重命名none镜像
docker save <IMAGE ID> > save.tar
示列:
docker save elasticsearch:7.1.1 > elasticsearch-7.1.1.tar
# 或
docker save b0cb1543380d > elasticsearch-7.1.1.tar
加载(Load)
docker load < save.tar
示列:
docker load < elasticsearch-7.1.1.tar
导出(Export)
docker export <CONTAINER ID> > export.tar
示列:
docker export b0cb1543380d > elasticsearch-7.1.1.tar
导入(Import)
docker import export.tar <IMAGE NAME>:<IMAGE TAG>
示列:
docker import elasticsearch-7.1.1.tar elasticsearch:7.1.1
提交(Commit)
使用commit命令可以把一个正在运行的容器变成一个新的镜像。
docker commit <CONTAINER ID> <IMAGE NAME>:<IMAGE TAG>
示列:
docker commit b0cb1543380d elasticsearch:latest
问题(None)
docker加载新的镜像后repository和tag名称都为none的解决方法
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> b0cb1543380d 2 months ago 847MB
方案 : 标签(tag)
docker tag <IMAGE ID> <IMAGE NAME>:<IMAGE TAG>
示列:
docker tag b0cb1543380d elasticsearch:7.1.1