docker管理宿主機檔案系統的一部分(/var/lib/docker/volumes)。儲存資料的最佳方式。
使用場景:將容器中的資料持久化到宿主機,比如容器是mysql,容器重啟後就沒資料了,此時需要儲存到宿主機上。
將宿主機上的任意位置的檔案或者目錄掛載到容器中。
使用場景:容器使用一些宿主機上的檔案或目錄。比如zabbix agent 他需要採集宿主機上的proc目錄對其進行監控。
掛載儲存在主機系統的記憶體中,而不會寫入主機的檔案系統。如果不希望將資料持久化到任何位置,可以使用tmpfs,同時避免寫入容器可寫層,以提高效能。
使用較少。
注意:也可以使用-v的方式,是老的方式。
docker run -d --name lnmp_web03 -p8889:80 -v nginx_root:/usr/share/nginx/html nginx
修改主頁
檢視主頁
直接修改/var/lib/docker/volumes/nginx_root/_data資料,就是修改的容器的資料,當容器掛掉後,我們重新再啟動乙個新的容器即可。這就是volume的好處啦。
bind方式和volume不同之處是:bind方式是直接將宿主機上的某個目錄作為源。此目錄必須存在,不然會報錯。
注意:
1、如果原始檔/目錄沒有存在,不會自動建立,會丟擲錯誤。
2、如果掛載目標在容器中非空目錄,則改目錄現有內容將被隱藏。
3、使用另外一種方式使用bind
docker run -d --name lnmp_ggg -p8889:80 -v /mnt:/usr/share/nginx/html nginx
容器裡面本來是有內容的,掛載原始檔後,會被覆蓋,現有內容隱藏起來。
總結:
volume適應於多個容器共享資料,方便容器資料持久化!比如mysql資料庫進行資料持久化。
bind mounts適應於宿主機和容器共享檔案!比如乙個**要經常更新,可以使用bind方式,每次提交最新的**,使用者訪問的也是最新的。
Docker 資料管理
1.在容器中管理資料主要有兩種方式 資料卷 data volumes 資料卷容器 data volume containers 資料卷資料卷是乙個可供乙個或多個容器使用的特殊目錄,它繞過 ufs,可以提供很多有用的特性 資料卷可以在容器之間共享和重用 對資料卷的修改會立馬生效 對資料卷的更新,不會影...
Docker 資料管理
容器中管理資料主要有兩種方式 1 資料卷 data volumes 容器內的資料直接對映到宿主機,也就是使用宿主機的目錄作為根目錄,容器裡的目錄對映到根目錄,如下例1 2 資料卷容器 data volume containers 使用特定的容器維護資料卷,也就是使用乙個容器的目錄作為根目錄,另乙個容...
Docker資料管理
使用docker過程中,需要能檢視容器內應用產生的資料,或需要將容器內的資料進行備份,甚至在多個容器之間進行資料的共享,這些都將涉及容器資料管理的操作 容器中管理資料主要的兩種形式 1 資料卷 data volumes 2 資料卷容器 data volume containers 1 資料卷 資料卷...