Volume 容器備份

  1. 新建容器 data1,使用 --volumes-from 掛載 mydata 容器,-v 將 host 的 /mnt/data 連結到新建容器的 /backup 目錄,執行 tar 將 mydata 容器備份到 /backup/mydata.tgz。
    [root@dyw219 ~]# docker run --rm --volumes-from mydata -v /mnt/data:/backup \
    --name data1 centos tar zcvf /backup/mydata.tgz /mydata
    tar: Removing leading `/' from member names
    /mydata/
    /mydata/file4
    
  2. 查看 host 的 /mnt/data,已出現 mydata.tgz。
    [root@dyw219 ~]# ll /mnt/data/
    total 4
    -rw-r--r--. 1 root root   0 Aug 22 06:59 file2
    -rw-r--r--. 1 root root   0 Aug 22 07:02 file3
    -rw-r--r--. 1 root root 145 Aug 22 10:35 mydata.tgz
    
  3. 進入 host 的 /mnt/data,解打包壓縮 mydata.tgz,產生目錄 mydata 且目錄中有 file4 檔案。
    [root@dyw219 ~]# cd /mnt/data/
    [root@dyw219 data]# tar zxvf mydata.tgz 
    mydata/
    mydata/file4
    
  4. 在目錄 mydata 中再產生一個空檔案 file5。
    [root@dyw219 data]# touch mydata/file5
    [root@dyw219 data]# ll mydata
    total 0
    -rw-r--r--. 1 root root 0 Aug 22 10:29 file4
    -rw-r--r--. 1 root root 0 Aug 22 10:36 file5
    
  5. 再將目錄 mydata 壓縮打包回 mydata.tgz。
    [root@dyw219 data]# tar zcvf mydata.tgz mydata
    mydata/
    mydata/file5
    mydata/file4