Docker(四)容器數據卷

Docker(三)鏡像

目錄

1.引入數據卷

2.作用(將容器產生的數據持久化)

3.容器內添加

4.查看是否掛載成功

5.容器啓動帶權限(只讀)

6.其他問題

7.數據卷容器


1.引入數據卷

*  將運用與運行的環境打包形成容器運行 ,運行可以伴隨着容器,但是我們對數據的要求希望是持久化的
*  容器之間希望有可能共享數據 
Docker容器產生的數據,如果不通過docker commit生成新的鏡像,使得數據做爲鏡像的一部分保存下來,
那麼當容器刪除後,數據自然也就沒有了。 
爲了能保存數據在docker中我們使用卷

2.作用(將容器產生的數據持久化)

卷就是目錄或文件,存在於一個或多個容器中,由docker掛載到容器,但不屬於聯合文件系統,因此能夠繞過Union File System提供一些用於持續存儲或共享數據的特性:

卷的設計目的就是數據的持久化,完全獨立於容器的生存週期,因此Docker不會在容器刪除時刪除其掛載的數據卷。
特點:
1:數據卷可在容器之間共享或重用數據
2:卷中的更改可以直接生效
3:數據卷中的更改不會包含在鏡像的更新中
4:數據卷的生命週期一直持續到沒有容器使用它爲止

(容器間繼承+共享數據 容器的持久化)

3.容器內添加

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

4.查看是否掛載成功

docker inspect 容器ID

5.容器啓動帶權限(只讀)

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

6.其他問題

  Docker掛載主機目錄Docker訪問出現cannot open directory .: Permission denied
解決辦法:在掛載目錄後多加一個--privileged=true參數即可

dockfile初探:

dockerfile 編輯

  • 1.dockerfile文件編輯
  • 2.docker build -f 路徑 docker配置文件名稱 -t  新鏡像名稱:標籤 .
  • 3.docker run  新鏡像名稱:標籤

7.數據卷容器

   容器間傳遞共享(--volumes-from)

容器之間配置信息的傳遞,數據卷的生命週期一直持續到沒有容器使用它爲止

dc01
docker run -it --name dc01  mycentos
===dco2繼承與dc01

dco2
docker run -it --name dc01 --volumes-from dc01 mycentos
== dco3繼承與dc02
dco3
docker run -it --name dc02 --volumes-from dc01 mycentos

Docker(五)DockerFile解析

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