原文:容器中資料持久化主要有兩種方式:
資料卷是乙個可供乙個或多個容器使用的特殊目錄,可以繞過ufs(unix file system)。
注意:資料卷的使用,類似於 linux 下對目錄或檔案進行 mount。
示例:
docker run --name nginx-data -v /mydir nginx
執行如下命令即可檢視容器構造的詳情:
docker inspect 容器id
由測試可知:
資料卷是被設計來持久化資料的,因此,刪除容器並不會刪除資料卷。如果想要在刪除容器時同時刪除資料卷,可使用如下命令:
docker rm -v 容器id
這樣既可在刪除容器的同時也將資料卷刪除。
docker run --name nginx-data2 -v /host-dir:/container-dir nginx
這樣既可將宿主機的/host-dir路徑載入到容器的/container-dir中。
需要注意的是:
如果宿主機路徑不存在,docker會自動建立
tips
dockerfile暫時不支援這種形式。
docker run --name nginx-data3 -v /檔案路徑:/container路徑 nginx
預設情況下,掛載的許可權是讀寫許可權。也可使用:ro
引數指定唯讀許可權。
示例:
docker run --name nginx-data4 -v /host-dir:/container-dir:ro nginx
這樣,在容器中就只能讀取/container-dir中的檔案,而不能修改了。
如果有資料需要在多個容器之間共享,此時可考慮使用資料卷容器。
建立資料卷容器:
docker run --name nginx-volume -v /data nginx
在其他容器中使用-volumes-from
來掛載nginx-volume容器中的資料卷。
docker run --name v1 --volumes-from nginx-volume nginx
docker run --name v2 --volumes-from nginx-volume nginx
這樣: docker系列教程之docker安裝
2013年發布至今,docker 一直廣受矚目,被認為可能會改變軟體行業。一 環境配置的難題 軟體開發最大的麻煩事之一,就是環境配置。使用者計算機的環境都不相同,你怎麼知道自家的軟體,能在那些機器跑起來?使用者必須保證兩件事 作業系統的設定,各種庫和元件的安裝。只有它們都正確,軟體才能執行。舉例來說...
Docker系列教程02 Docker安裝
1,官網 2,倉庫 docker支援以下的centos版本 centos 7 64 bit 推薦使用7 預設的是7 centos 6.5 64 bit 或更高的版本 目前,centos 僅發行版本中的核心支援 docker。docker 執行在 centos 7 上,要求系統為64位 系統核心版本為...
Docker系列教程04 Docker映象詳解
unionfs 聯合檔案系統 union檔案系統 unionfs 是一種分層 輕量級並且高效能的檔案系統,它支援對檔案系統的修改作為一次提交來一層層的疊加,同時可以將不同目錄掛載到同乙個虛擬檔案系統下 unite several directories into a single virtual f...