Centos下的纯命令记录Docker学习(6)-镜像的迁移和备份

应用场景

1:把某个服务器上的镜像迁移到另一台服务器上,导入保存为文件,然后再进行恢复回一个镜像
2:对现有的运行的容器进行配置修改或升级之后,重新生成一个新的镜像,基于新的镜像创建为修改后的容器

实践

把运行了的容器打包保存为新的镜像

docker commit  容器 新的镜像名称

说明:
上一节中我们的部署来我们的后台网站地址把它放到容器内部,这种也算是对容器的修改,那现在我们需要直接把修改后的容器打包会心动的镜像,后续其他服务器可以直接的拉取镜像,然后运行容器即可

步骤:

  • 1)打包新的镜像
提交修改
[root@localhost data]# docker commit mynginx newmynginx
sha256:cd903b9a327f6e622336dd1306001d26c7d398da6eb82a045afd8b10e2f443e6
查看当前镜像
[root@localhost data]# docker imsges
docker: 'imsges' is not a docker command.
See 'docker --help'
[root@localhost data]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
newmynginx          latest              cd903b9a327f        11 seconds ago      146MB
tomcat              latest              891fcd9c5b3a        2 weeks ago         647MB
nginx               latest              f35646e83998        3 weeks ago         133MB
redis               4.0.14              191c4017dcdd        6 months ago        89.3MB
hell02              latest              bf756fb1ae65        10 months ago       13.3kB
centos              centos7.1.1503      e1430271e2f9        20 months ago       212MB
ubuntu              15.10               9b9cb95443b5        4 years ago         137MB
[root@localhost data]#

-2 )测试新生成的镜像的运行

默认80端口已经被占用,所以修改修改映射的端口


[root@localhost data]# docker run -di --name mynxgin_houtai -p 81:80 newmynginx
577f20eff3f633452199ec74617192a75bc34543b2f7fa75e57ebbe36da56b7e
[root@localhost data]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
577f20eff3f6        newmynginx          "/docker-entrypoint.…"   6 seconds ago       Up 6 seconds        0.0.0.0:81->80/tcp       mynxgin_houtai
8bd4c69fec01        191c4017dcdd        "docker-entrypoint.s…"   21 minutes ago      Up 21 minutes       0.0.0.0:6379->6379/tcp   myredis
88343f5b3a3c        nginx               "/docker-entrypoint.…"   About an hour ago   Up About a minute   0.0.0.0:80->80/tcp       mynginx
[root@localhost data]#

  • 3)访问


    image.png
image.png
  • 4)镜像备份导出
docker save -o 导出的文件命名的名称.tar 需要导出镜像的名称

如:


[root@localhost data]# docker save -o houtaiquandian.tar newmynginx
[root@localhost data]# ls
backup  bak  ceshi  houtaiquandian.tar  html  jiao  QQpro  www  wwwroot  wwwroot2
[root@localhost data]#

最终生成了
houtaiquandian.tar
  • 5)镜像导入
    前提,我们试一试把先用一些的镜像都删除
1:先把基于之前镜像所运行的容器给删除
停止容器
[root@localhost data]# docker stop mynginx
[root@localhost data]# docker stop mynxgin_houtai
然后删除容器:

[root@localhost data]# docker rm mynginx
mynginx
[root@localhost data]# docker rm mynxgin_houtai
mynxgin_houtai
[root@localhost data]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED                                                                                                                                     SIZE
newmynginx          latest              cd903b9a327f        21 minutes ago                                                                                                                              146MB
tomcat              latest              891fcd9c5b3a        2 weeks ago                                                                                                                                 647MB
nginx               latest              f35646e83998        3 weeks ago                                                                                                                                 133MB
redis               4.0.14              191c4017dcdd        6 months ago                                                                                                                                89.3MB
hell02              latest              bf756fb1ae65        10 months ago                                                                                                                               13.3kB
centos              centos7.1.1503      e1430271e2f9        20 months ago                                                                                                                               212MB
ubuntu              15.10               9b9cb95443b5        4 years ago                                                                                                                                 137MB
[root@localhost data]#

删除镜像:

[root@localhost data]# docker rmi newmynginx
Untagged: newmynginx:latest
Deleted: sha256:cd903b9a327f6e622336dd1306001d26c7d398da6eb82a045afd8b10e2f443e6
Deleted: sha256:a0328d3ea0d485f161cf1e7c38fc7f79dd6815272967e9a4d768c0cf614f4ad7
[root@localhost data]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              891fcd9c5b3a        2 weeks ago         647MB
nginx               latest              f35646e83998        3 weeks ago         133MB
redis               4.0.14              191c4017dcdd        6 months ago        89.3MB
hell02              latest              bf756fb1ae65        10 months ago       13.3kB
centos              centos7.1.1503      e1430271e2f9        20 months ago       212MB
ubuntu              15.10               9b9cb95443b5        4 years ago         137MB
[root@localhost data]#
查看已删除了newmynginx          的镜像

执行恢复或说导入


[root@localhost data]# docker load -i houtaiquandian.tar
2bfa788663b7: Loading layer [==================================================>]  13.35MB/13.35MB
Loaded image: newmynginx:latest
[root@localhost data]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
newmynginx          latest              cd903b9a327f        24 minutes ago      146MB
tomcat              latest              891fcd9c5b3a        2 weeks ago         647MB
nginx               latest              f35646e83998        3 weeks ago         133MB
redis               4.0.14              191c4017dcdd        6 months ago        89.3MB
hell02              latest              bf756fb1ae65        10 months ago       13.3kB
centos              centos7.1.1503      e1430271e2f9        20 months ago       212MB
ubuntu              15.10               9b9cb95443b5        4 years ago         137MB
[root@localhost data]#
导入成功后发现 newmynginx          的镜像又恢复了!
  • 6)继续运行测试

[root@localhost data]# docker run -di --name daorunginx -p 80:80 newmynginx
cb252d0bb06e54abe65468f08a9decb0b4b3760a689c62264a7c5e0000431739
[root@localhost data]#

测试访问正常

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,110评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,443评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,474评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,881评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,902评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,698评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,418评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,332评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,796评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,968评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,110评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,792评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,455评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,003评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,130评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,348评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,047评论 2 355