Docker容器數據管理
阿新 • • 發佈:2018-04-25
Docker 數據卷 首先了解個概念:
什麽是數據卷(Data Volume):
數據卷是經過特殊設計的目錄,可以繞過聯合文件系統(UFS),為一個或多個容器提供訪問。
數據卷設計的目的,在於數據的永久化,它完全獨立與容器的生存周期,因此,Docker不會在容器刪除時刪除其掛載的數據卷,也不會存在類似的垃圾收集機制,對容器引用的數據卷進行處理。
數據卷(Data Volume)的特點:
數據卷在容器啟動時初始化,如果容器使用的鏡像在掛載點包含了數據,這些數據會拷貝到新初始化的數據卷中。
數據卷可以在容器之間共享和重用。
可以對數據卷裏的內容直接進行修改。
數據卷的變化不會影響鏡像的更新。
卷會一直存在,即使掛載數據卷的容器已經被刪除。
什麽是數據卷(Data Volume):
數據卷是經過特殊設計的目錄,可以繞過聯合文件系統(UFS),為一個或多個容器提供訪問。
數據卷設計的目的,在於數據的永久化,它完全獨立與容器的生存周期,因此,Docker不會在容器刪除時刪除其掛載的數據卷,也不會存在類似的垃圾收集機制,對容器引用的數據卷進行處理。
數據卷(Data Volume)的特點:
數據卷在容器啟動時初始化,如果容器使用的鏡像在掛載點包含了數據,這些數據會拷貝到新初始化的數據卷中。
數據卷可以在容器之間共享和重用。
可以對數據卷裏的內容直接進行修改。
數據卷的變化不會影響鏡像的更新。
卷會一直存在,即使掛載數據卷的容器已經被刪除。
為容器添加數據卷:
$ docker run -v ~/container_data:/data -i -t centos /bin/bash
為數據卷添加訪問權限
$ docker run -v ~/datavolume: /data:ro -it centos /bin/bash
使用Dockerfile構建包含數據卷的鏡像
Dockerfile指令:
VOLUME [ "/data" ]
什麽是數據卷容器:
命令的容器掛載數據卷,其他容器通過掛載這個容器實現數據共享,掛載數據卷的容器,就叫做數據卷容器
掛載數據卷容器的方法
$ docker run --volumes-from [ CONTAINER NAME ]
數據備份方法
$docker run --volumes-from [ container name ] -v $(pwd):/backup centos tar cvf /backup/backup.tar [ container data vloume ]
數據還原方法
$ docker run --volumes-from [ container name ] -v $(pwd):/backup centos tar xvf /backup/backup.tar [ container data volume ]
Docker容器數據管理