Docker - 迁移备份(容器<->镜像)导入导出

本质就是把容器打包成镜像
压缩,传到别的机器
别的机器load回来,就能看到image, run起来,直接容器就跑起来了

容器保存为镜像

我们可以通过以下命令将容器保存为镜像

docker commit mynginx mynginx_i

案例: 将容器mycentos7方向生成为镜像

镜像备份

我们可以通过以下命令将镜像保存为tar 文件

docker save -o mynginx.tar mynginx_i

镜像恢复与迁移

首先我们先删除掉mynginx_img镜像 然后执行此命令进行恢复

docker load -i mynginx.tar

-i 输入的文件

执行后再次查看镜像,可以看到镜像已经恢复

注意:

载入若发现镜像没有TAG相关信息,这是由于 save -o 镜像时采用了镜像ID导致
解决办法:修改镜像TAG信息
docker tag 镜像ID 镜像名:镜像版本
 

docker镜像存储在哪里

进入docker目录:

#cd var/lib/docker/
# ll
总用量 12
drwx------. 6 root root 4096 8月 20 14:24 containers
drwx------. 3 root root 22 8月 19 23:28 image
drwxr-x—. 3 root root 19 8月 19 23:28 network
drwx------. 23 root root 4096 8月 20 15:39 overlay2
drwx------. 4 root root 32 8月 19 23:28 plugins
drwx------. 2 root root 6 8月 19 23:28 swarm
drwx------. 2 root root 6 8月 20 00:34 tmp
drwx------. 2 root root 6 8月 19 23:28 trust
drwx------. 6 root root 4096 8月 20 14:24 volumes

2:进入containers,每一个序列号,都是一个镜像,如下:

# cd containers
# ll
总用量 0
drwx------. 5 root root 168 8月 20 15:42 4ff70d0815af7333d238dfc3a763c538bd7da30becfc2263de666b43eedb5a31
drwx------. 3 root root 126 8月 20 15:39 629ea6e4693aa457097699aba11a6d19d785cb20dc3ef973cfbec0eea52f7770
drwx------. 5 root root 168 8月 20 15:39 69baf33f60a06764f63472b50aad9315dafd5f5913458c3f6b42cb0245a36546
drwx------. 5 root root 168 8月 20 15:56 8c6cea5dae6e5f0c891f6d9acd4ff57c6ed40152983e7d0f0893a858c8119846

3:进入其中一个镜像,发现目录结构如下,这就是这个镜像的内容了,如下:

# cd 8c6cea5dae6e5f0c891f6d9acd4ff57c6ed40152983e7d0f0893a858c8119846
# ll
总用量 24
drwx------. 2 root root 6 8月 20 01:22 checkpoints
-rw-r–r--. 1 root root 3184 8月 20 15:56 config.v2.json
-rw-r–r--. 1 root root 1167 8月 20 15:56 hostconfig.json
-rw-r–r--. 1 root root 13 8月 20 15:56 hostname
-rw-r–r--. 1 root root 174 8月 20 15:56 hosts
-rw-r–r--. 1 root root 73 8月 20 15:56 resolv.conf
-rw-r–r--. 1 root root 71 8月 20 15:56 resolv.conf.hash
drwxr-xr-x. 2 root root 6 8月 20 15:56 secrets
drwxrwxrwt. 2 root root 40 8月 20 15:56 shm

4.在docker目录下,进入image的文件夹,找到repositories.json的文件,详细记录了镜像的一些信息:进入如下:

# cd image
# ll
总用量 0
drwx------. 5 root root 81 8月 20 00:34 overlay2
# cd overlay2
# ll
总用量 4
drwx------. 4 root root 58 8月 19 23:56 distribution
drwx------. 4 root root 37 8月 19 23:28 imagedb
drwx------. 5 root root 45 8月 20 00:45 layerdb
-rw-------. 1 root root 301 8月 20 00:34 repositories.json
# cat repositories.json
{“Repositories”:{“docker.io/mysql”:{“docker.io/mysql:latest”:“sha256:29e0ae3b69b9031ab7d7fd3024057b9441d74c8244e583cfb48697109148ca71”,“docker.io/mysql@sha256:d39a8ab7679df309e7eff6ddba434ad5747cc2a2acee2d7c60d8221c9acedcad”:“sha256:29e0ae3b69b9031ab7d7fd3024057b9441d74c8244e583cfb48697109148ca71”}}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值