Docker數據管理

由於docker 重啓全部的docker數據都會丟失。怎麼保存數據到本址linux

一、掛載本地的目錄到容器裏(備份)
docker run -itd -v /data/:/data centos bash
-v 指定掛載目錄,前面的是宿主機目錄,後面的是容器目錄。建立成功後兩個目錄內容會同步,從面達到備份的目的。
Docker數據管理Docker數據管理docker

二、掛載數據卷centos

其實咱們掛載目錄的時候,能夠指定容器name,若是不指定就隨機定義了。好比上面咱們沒有指定,它就生成了一個名字爲relaxed_franklin,這個名字可使用命令 docker ps  看最右側一列![]bash

docker run -itd --volumes-from relaxed_franklin centos bashide

--volumes-from後面跟已啓動的主機名,使用 relaxed_franklin的數據卷。咱們使用了centos 建立了新的容器
Docker數據管理3d

三、定義數據卷容器
有時候,咱們須要多個容器之間相互共享數據,相似於linux裏面的NFS,因此就能夠搭建一個專門的數據卷容器,而後其餘容器直接掛載該數據卷。
首先創建數據卷容器
docker run -itd -v /data/ --name testvol centos  bash  //注意這裏的/data/是容器的/data目錄,並不是本地的/data/目錄。 而後讓其餘容器掛載該數據卷
docker run -itd  --volumes-from testvol aming123 bashcode

四、數據卷備份恢復
備份
mkdir /data/backup
docker run --volumes-from testvol -v  /data/backup/:/backup centos tar cvf  /backup/data.tar /data/blog

說明:首先咱們須要使用testvol數據卷新開一個容器,同時咱們還須要把本地的/vol_data_backup/目錄掛載到該容器的/backup下,這樣在容器中/backup目錄裏面新建的文件,咱們就能夠直接在/data/backup/目錄中看到了。 而後再把/data/目錄下面的文件打包到成data.tar文件放到/backup目錄下面。
恢復
思路: 先新建一個數據卷容器,再建一個新的容器並掛載該數據卷容器,而後再把tar包解包。
新建數據卷容器:
docker run -itd -v /data/ --name testvol2 centos bash同步

掛載數據卷新建容器,並解包:
docker run --volumes-from testvol2  -v /data/backup/:/backup centos tar xf /backup/data.tar
Docker數據管理it

相關文章
相關標籤/搜索