Docker之间导出/导入镜像

docker-logo.png

方式一、使用 exportimport

格式:docker export CONTAINER(容器)

使用 docker ps -a 查看本机已有的容器

以Postgres为例
docker ps -a

docker-ps.png

导出到home根目录下:
docker export 4116acb7050d > ~/my-postgres-image.tar
导入镜像:
docker import ~/my-postgres-image.tar

方式二、使用saveload

格式:docker save IMAGE(镜像)

使用 docker ps -a 查看本机已有的容器

保存:
docker save 4116acb7050d > ~/my-postgres-image.tar
加载:
docker load < ~/my-postgres-image.tar

两种方式的区别

  • export导出的镜像文件大小 小于 save保存的镜像
  • export 导出(import导入)是根据容器拿到的镜像,再导入时会丢失镜像所有的历史,所以无法进行回滚操作(docker tag <LAYER ID> <IMAGE NAME>);
  • 而save保存(load加载)的镜像,没有丢失镜像的历史,可以回滚到之前的层(layer)。(查看方式:docker images --tree)

移除所有的容器和镜像-(慎用):

docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi $(docker images -q -a) 
Last modification:May 24th, 2020 at 08:48 am
If you think my article is useful to you, please feel free to appreciate