docker對數據卷容器進行備份


轉載請注明出處

官網的數據以及各大博客都沒有對這個的具體說明,本人也是理解了好久。

我們使用docker的過程中,使用共享的數據卷是經常的,那么。我們要怎么進行備份呢?
 
首先,我們得了解下面4個命令
 
1:打包數據
 
tar -czvf /data/back.tar.gz /usr/

 

 
2:運行docker容器
 
docker run dbdata

 

 
3:掛載數據卷容器中的數據卷
 
docker run --volumes-from dbdata centos

 

掛載數據卷容器名為dbdata到新的容器中
 
4:掛載主機中現有的目錄當作數據卷
 
docker run -v /webapps:/data centos

 

把主機中/data目錄掛載到窗口中的/webapps目錄下
 
 
了解上面的4條命令后,我們就可以備份數據了
 
docker run --privileged=true --volumes-from dbdata -v /sb:/sb centos tar czvf /sb/backup.tar.gz /dbdata

 

參數說明

  • --privileged=true 是為了避免訪問目錄權限不足的情況,這是由於selinux引起的。
  • --volumes-from dbdata 是掛載需要備份的數據卷容器名稱,它就是一個容器。
  • -v /sb:/sb 這是掛載主機目錄到窗口中,第一個/sb是代表着容器的目錄,第二個/sb是代表着主機的目錄。
  • centos 是代表着容器的REPOSITORY的ID,這個ID可以用docker images命令查看。
  • tar czvf /sb/backup.tar.gz /dbdata 這部分放在后面,代表着容器啟動成功后的命令。這部分就是對數據卷進行壓縮,/sb/backup.tar.gz 這個目錄是掛載的主機的目錄,只要壓縮到這個目錄,那就相當於主機的目錄也就有了相應的數據, /dbdata這個目錄是掛載的數據卷容器中的目錄,綜合起來就是一組壓縮命令,正好實現了把數據卷中的數據備份到當前主機中。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM