1.导出 export - 导入 import
具体的例子:(导出--导入--运行)
#查看本地运行容器
root@instance-tbbjrcnc:~/docker/docker# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2d541b621f6f docker_allweb:05 "/bin/bash" About an hour ago Exited (0) 53 minutes ago serene_morse
#容器导出
docker export serene_morse > docker_allweb04.tar
#容器加载
docker import - docker_allweb:04 < docker_allweb04.tar
运行:(会报错)docker run -i -t -p 80:80 docker_allweb:04
root@instance-tbbjrcnc:~/docker/docker# docker run -i -t -p 80:80 docker_allweb:04
docker: Error response from daemon: No command specified.
See 'docker run --help'.
运行:(正确方式)
docker run -i -t -p 80:80 docker_allweb:04 /bin/bash
2. 保存save - 加载 load
使用 docker ps -a 查看本机已有的容器,如:
REPOSITORY TAG IMAGE ID CREATED SIZE
docker_allweb 06 d038f9c59138 30 minutes ago 2.4GB
docker_allweb 04 6af36ef61951 58 minutes ago 2.33GB
存出镜像格式: docker save IMAGE(镜像)
例如:docker save -o docker_maserweb.tar ubuntu:16.04
#载入镜像格式:
例如:docker load < docker_maserweb.tar
3.导出 export 与 保存 save 的区别
(1).export导出的镜像文件大小 小于 save保存的镜像
(2).export 导出(import导入)是根据容器拿到的镜像,再导入时会丢失镜像所有的历史,所以无法进行回滚操作(docker tag <LAYER ID> <IMAGE NAME>);而save保存(load加载)的镜像,没有丢失镜像的历史,可以回滚到之前的层(layer)。(查看方式:docker images --tree)
注:导入加载进来觉得不合适可以使用 docker rm 容器ID 、 docker rmi 镜像ID 来删掉。
移除所有的容器和镜像(大扫除):
docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi $(docker images -q -a)
参考链接:
https://blog.csdn.net/jctian000/article/details/82704252