第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

docker: 數(shù)據(jù)管理 - 數(shù)據(jù)卷 數(shù)據(jù)卷容器 備份 恢復(fù)

標(biāo)簽:
Docker

一、数据卷:

1、启动一个nginx的容器,创建一个data的数据卷,自动映射到本地主机的某个文件目录;

[root@tcy1 tcy]# docker run -it --name volume-test1 -h nginx -v /data nginx

-h  指定主机名;     -v: 启用数据卷

2、查看数据卷与本地主机之间的映射

[root@tcy1 tcy]# docker inspect -f {{.Volumes}} volume-test1
map[/data:/var/lib/docker/volumes/ec83815163550651bc0ab45ea54487c0083653feef48a30a35998c55d31152ea/_data]

这是说容器下的data目录与主机下的的/var/lib/docker/volumes/ec838151635.......1152ea/_data目录数据共享,无论在哪个目录下进行操作,另一个目录也会有相应操作。

例如:在主机下创建一个testSyc文件:


[root@tcy1 _data]# touch testSyc

在docker容器中也会有这个文件:

进入docker容器查看:

①、进入容器:

[root@tcy1 tcy]# ./in.sh volume-test1

in.sh是写的一个快速进入的脚本:如下:

[root@tcy1 tcy]# cat in.sh
#!/bin/bash
CNAME=$1
CPID=$(docker inspect --format "{{.State.Pid}}" $CNAME)
nsenter --target "$CPID" --mount --uts --ipc --net --pid

②、进入data目录:


root@nginx:/# cd data/

③、查看

root@nginx:/data# ls -a
.  ..  tcyTest

3、指定数据卷与主机的映射文件

[root@tcy1 /]# docker run -it --name volume-test2 -h nginx -v /a:/b nginx

-v /a:/b  主机中的/a与容器中的目录/b想关联。

查看主机中出现了/a目录:

[root@tcy1 /]# ls
a    boot    data  docker             etc   lib    lost+found  misc  net  proc  sbin     srv  tmp  var
bin  cgroup  dev   docker-1.11.1.tgz  home  lib64  media       mnt   opt  root  selinux  sys  usr

查看容器中出现了/b目录:

root@nginx:/# ls
b  bin	boot  dev  etc	home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

同样,任何一个目录下有数据变动,会同步到另一个目录下。

二、数据卷容器:

启动一个容器专门用来存数据,其他容器就不挂载了,从这个存数据的容器里面里去读。

例如:在数据卷1中,我们启动了一个数据卷 /data中用来存数据

[root@tcy1 /]# docker run -it --name volume-test1 -h nginx -v /data nginx

现在,我们再起一个容器volume-test4,该容器中的卷来自volume-test1中的/data,可以共享卷,即使volume-test1处于关闭状态。

[root@tcy1 tcy]# docker run -it --name volume-test4 --volumes-from volume-test1 nginx

查看volume-test4中是否有/data和/data下面我们之前创建的目录。都有

root@cc65422e80fe:/# ls
bin  boot  data  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  s
root@cc65422e80fe:/# cd data
root@cc65422e80fe:/data# ls
test  testSyc

三、利用数据卷容器来迁移数据

1、备份:

[root@tcy1 Documents]# docker run --volumes-from volume-test1 -v $(pwd):/backup --name volume-test6 nginx tar cvf /backup/backup.tar /data
tar: Removing leading `/' from member names
/data/
/data/test/
/data/testSyc

命令解释:

①、首先利用nginx镜像创建了一个名字为volume-test6的容器;

②使用 --volumes-from volume-test1参数让volume-test6容器挂载volume-test1容器中的data数据卷;

③使用 -v $(pwd):/backup参数来挂载本地的当前目录到volume-test1容器的/backup目录。

④volume-test1容器启动后,使用tar cvf /backup/backup.tar /data命令来将 /data下内容备份为容器内的/backup/backup.tar,即宿主机当前目录下的backup.tar。

查看结果:

该文件夹下有了backup.tar

[root@tcy1 Documents]# ls
backup.tar

2、恢复

将数据恢复到一个容器:

①创建一个带有数据卷datarecover的容器recover,

[root@tcy1 Documents]# docker run -v /datarecover --name recover nginx

②创建另一个新的容器,挂载数据卷datarecover,然后解压备份文件到所挂载的容器卷中。


  1. [root@tcy1 tcy]# docker run --volumes-from recover -v $(pwd):/backup nginx tar xvf /backup/backup.tar  

  2. data/  

  3. data/test/  

  4. data/testSyc  

    原文出处


點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消