docker容器卷


容器數據卷

#容器數據卷的做用:
    數據持久化
    將容器數據與宿主機同步

-v參數

指令:
    docker run -it -v /宿主機絕對路徑目錄:/容器內目錄   鏡像名

實例:
    docker run -it -v /myDataVolume:/dataVolumeContainer centos
    ---------同步後的卷數據是雙向共享
    ---------在容器關閉後,從新啓動容器數據依然能夠雙向同步

    #只讀權限
    docker run -it -v /myDataVolume:/dataVolumeContainer:ro centos
    ---------宿主機作出修改只讀後,容器就只能夠查看該文件,不能夠修改

dockerfile

#容器控制腳本

mkdir /mydocker

vim /mydocker/Dockerfile

#The Dockerfile for data
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "create dir finshed,-----------success"
CMD /bin/bash

#建立鏡像
docker build -f /mydocker/Dockerfile -t redrain/centos .

#運行寫過Dockerfile的鏡像
docker run -it redrain/centos
        -----------docker會將容器數據同步給本身宿主機默認的目錄,能夠經過docker inspect 容器編號   來查看默認路徑

        -----------在啓動容器時,若是遇到權限問題,可能緣由:
                1.用戶權限  sudo 受權
                2.啓動受權  命令後接  --privilege=true

數據卷容器

#命名的容器掛載數據卷,其餘容器經過掛在這個(父容器)實現數據共享,掛在數據卷的容器稱之爲數據卷容器

#數據卷級聯共享數據
        #啓動第一個容器別名爲dc01
        docker run -it --name dc01 redrain/centos

        #啓動第二個,此時增長參數 --volumes-from,便可同步卷數據
        docker run -it --name dc02 --volumes-from dc01 redrain/centos

        .......
        docker run -it --name dc03 --volumes-from dc01 redrain/centos

            --------三個容器數據共享,三者數據的操做都將同步

#在第一個掛載容器被刪除後,其他兩個容器依然能夠進行數據共享docker

相關文章
相關標籤/搜索