Docker資料卷 掛載資料到容器的方法

2021-10-07 10:09:42 字數 2616 閱讀 6524

2. 管理卷

bind mounts

volume 與 bind 特點

ps:關於卷的官方文件:

docker管理宿主機檔案系統的一部分(/var/lib/docker/volumes)。

儲存資料的最佳方式。

將宿主機上的任意位置檔案或者目錄掛載到容器中。

掛載儲存在主機的記憶體中,不持久儲存。

常用為 volumes,bind mounts,tmpfs並不常用

volume屬於管理命令

命令下的引數比較少,也比較好理解

create		//建立

inspect //檢視卷詳情

ls //列出卷

rm //刪除卷

prune //刪除所有未使用的卷

建立乙個卷

$ docker volume create web_01_vol
建立的卷在這個目錄下:

如何掛載

如何掛載這個捲到容器中

容器建立成功後,該目錄也會掛載到/var/lib/docker/volumes/web_01_vol/_data

修改index.html檔案 驗證

如果沒有指定掛載卷,會自動掛載乙個卷

重新建立乙個卷積,共用乙個卷,卷積的檔案通用,資料卷不會因為容器的刪除而丟失,它會長期保留。

刪除卷

$ docker container stop 7740ca246029 f11f0c5fbcf5		//關機

$ docker container rm f11f0c5fbcf5 7740ca246029 //刪除容器

$ docker volume rm web_01_vol //刪除卷

它是將宿主機的某個檔案掛載到容器中

其命令格式都一樣

例項:建立乙個bind 卷

假如宿主機 /home/目錄下有個1.txt檔案需要掛載到容器中

目錄跟檔案均可掛載,掛載到容器的檔案和目錄跟宿主機其實差不多是乙個軟鏈結狀態,容器中改變檔案或宿主機改變檔案都會受影響。

$ docker container run -itd --name=test_01 --mount type=bind,src=/home/test/123.txt,dst=/home/1.txt centos
驗證如果沒有指定卷,會報錯。

$ docker container inspect c4a1deeb58d2
刪除bind卷

跟volume一樣

$ docker container stop 7740ca246029 f11f0c5fbcf5		//關機

$ docker container rm f11f0c5fbcf5 7740ca246029 //刪除容器

$ docker volume rm web_01_vol //刪除卷

volumebind

主機掛載儲存 docker資料卷(資料掛載)

docker的映象是由多個唯讀的檔案系統疊加在一起形成的。當我們在我啟動乙個容器的時候,docker會載入這些唯讀層並在這些唯讀層的上面 棧頂 增加乙個讀寫層。這時如果修改正在執行的容器中已有的檔案,那麼這個檔案將會從唯讀層複製到讀寫層。該檔案的唯讀版本還在,只是被上面讀寫層的該檔案的副本隱藏。當刪...

(九) Docker 容器資料卷 掛載

一 容器資料卷 docker 容器資料卷是容器在執行過程中持久化資料的一種方式,卷是目錄或檔案,存在於乙個或多個容器中,由docker 掛載到容器,但不屬於聯合檔案系統,因此能夠繞過union file system 提供一些用於持續儲存或共享資料的特性 卷的設計目的就是資料持久化,完全獨立於容器的...

Docker資料卷之具名掛載和匿名掛載

1 啟動容器 docker run d p name nginx01 v etc nginx nginx v 容器內路徑 2 檢視所有卷的情況 注 由上圖可以看到,volume name 有的是隨機生成的字串,對於這種就是匿名掛載,因為 v的時候只寫了容器內的路徑看,而沒有寫容器外的路徑 1 啟動容...