Docker系列教程14 Docker資料持久化

2021-09-20 04:37:20 字數 1317 閱讀 6327

原文:

容器中資料持久化主要有兩種方式:

資料卷是乙個可供乙個或多個容器使用的特殊目錄,可以繞過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...