docker 镜像导入导出(import export)和加载保存(load,save)

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

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值