docker將資料從宿主機掛載到容器中的三種方式
1、volumes:docker管理宿主機檔案系統的一部分(/var/lib/docker/volumes) 儲存資料的最佳方式。將容器資料持久化到宿主機,docker自己來管理的乙個位置;
volumes特點:
卷管理
docekr volume ls
#列出所有資料卷
docker volume create volumename #建立資料卷(相當於容器共享儲存的位置,刪除容器,資料卷不會被刪掉)
docker volume inspect imagename #檢視資訊
docker run -d --name=imagename --mount src=volumename,dst=/usr/share/test/test01 image(最後跟上映象名)
#src:指定源(使用那個資料卷)
#dst:指定目標(將容器中哪乙個目錄持久化到資料卷中)
2、bind mounts將宿主機上的任意位置的檔案或目錄掛載到容器中;繫結宿主機乙個位置掛載到容器的乙個目錄;如果掛載目標在容器中非空目錄,則該目錄現有內容將被隱藏;此後所修改的會存在掛載目錄中;在掛載前該宿主機目錄中盡量不要有資料,儲存的是隨著容器業務本身所生成的資料
bind mounts特點
#bind mounts繫結掛載
#type:指定掛載型別 預設是volume
3、 tmpfs掛載儲存在主機系統的記憶體中,而不會寫入主機的系統檔案,如果不希望將資料持久儲存在任何位置可以使用tmpfs,同時避免寫入容器可寫層提高效能 docker 安裝redis 掛載到宿主機
1.拉取映象 docker pull redis2.準備好目錄對映 mkdir p my docker redis redis01 conf mkdir p my docker redis redis01 datacd my docker redis redis01 conf wget啟動 pwd為...
想把docker的檔案掛載在宿主機
我想把資料持久化,但是有不知道需要編寫什麼檔案 思路先隨便啟動乙個容器例如es 進入容器內部檢視檔案結構 把容器內的檔案複製出來 刪除容器,使用掛載方式建立容器 container是正在執行的docker的id,可以用docker ps來檢視 選項包括 l,保持源目標中的鏈結 docker cp b...
主機掛載儲存 docker資料卷(資料掛載)
docker的映象是由多個唯讀的檔案系統疊加在一起形成的。當我們在我啟動乙個容器的時候,docker會載入這些唯讀層並在這些唯讀層的上面 棧頂 增加乙個讀寫層。這時如果修改正在執行的容器中已有的檔案,那麼這個檔案將會從唯讀層複製到讀寫層。該檔案的唯讀版本還在,只是被上面讀寫層的該檔案的副本隱藏。當刪...