docker數據共享與持久化

六、數據共享與持久化 類似於 Linux 下對目錄或文件進行 mount
  容器中管理數據主要有兩種方式:
  數據卷 修改立馬生效,一直存在
  數據卷容器 容器之間共享和重用
1、爲什麼需要數據持久化?
  容器只是一個軟件,那麼這個軟件的東西不應該隨着容器的消失而丟失,所以要把例如數據庫的數據做備份,但是我們不能每次到容器裏進行操作,所以
  
2、掛載數據卷 -v或者-mount
docker數據共享與持久化
3、創建數據卷
  創建 docker volume create my-vol 刪除 docker volume rm my-vol
  docker run -d -P --name web -v /src/webap:/opt/webapp centos nginx -x
  掛載一個主機的目錄作爲數據卷,/src/webap本地目錄,到容器/opt/webapp目錄
  docker run -d -P --name web -v /src/webap:/opt/webapp:ro centos nginx -x
  掛載一個主機的目錄作爲數據卷,
  /src/webap本地目錄,到容器/opt/webapp目錄,加粗的可選只讀或者讀寫,
  如果沒有本地目錄,那就是在容器創建了一個目錄。
  數據卷容器可以實現多個容器共享數據 例如創建數據卷容器,並讓兩個容器都掛載到這裏
docker run -ti -v /dbdata --name dbdata ubuntu 創建
docker run -it --volumes-from dbdata --name db1 ubuntu
docker run -it --volumes-from dbdata --name db2 ubuntu
4、數據卷備份
  這個備份我認爲是我們如何利用數據捲進行備份,比如創建一個本地的文件my-vol,那麼可以把這個掛載到容器當中,把備份數據備份到這個目錄,那麼即便是容器消失了,這個本分還是有的,跟容器是分開的。
  
5、數據卷插件介紹
6、持久化實踐
7、實際場景落地介紹和剖析

比如備份數據
docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu tar cvf /backup/backup.tar /dbdata
恢復
docker run -v /dbdata --name dbdata2 ubuntu /bin/bash 創建數據卷的容器
docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar 恢復

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章