「Docker學習系列教學」9-Docker容器資料卷介紹

2022-12-11 12:00:37

通過前面8篇文章的學習,我們已經學會了docker的安裝、docker常用的命令已經docker映象修改後提交的遠端映象倉庫及提交到公司的私服倉庫中。接下來,我們再來學學Docker另外一個重要的東西-容器資料卷。

我們先來看看一個場景:我們有多個docker容器需要使用到同一個資料,比如說A服務和B服務都需要使用到資料庫D,在資料庫容器D銷燬後,重啟,資料庫中的資料不能夠丟失。我們通過前面的學習已經知道了,容器如果被銷燬後再重啟,這個時候,容器中的原有資料就丟失了,那麼這種情況下,資料庫容器D中儲存的資料應該放在哪裡?容器自身?如果存在容器自身肯定不行,那如果存放在非容器中,那麼在容器中怎麼能存取到?能不能像Linux一樣,可以直接掛載碟符呢?答案是肯定有的。就是本文介紹的Docker容器資料卷。好了,接下來,咱們就來開始學習這個。

6edd319438c9894355acadf3a8c9d6a9.png

大家好,我是凱哥Java(kaigejava),樂於分享,每日更新技術文章,歡迎大家關注「凱哥Java」,及時瞭解更多。讓我們一起學Java。也歡迎大家有事沒事就來和凱哥聊聊~~~

 

直通車,本系列教學已釋出文章,快速到達,《Docker學習系列》教學已經發布的內容見章末哦~

先填坑:容器卷記得加入以下引數:

--privileged-true

為什麼需要加這個呢?

c70a08d5e65c632bac38ea1b2980122f.png

回顧下啟動私服命令:

docker run -d -p 5000:5000 -v /n/myregistry/:/tmp/registry --privileged=true registry

 

其中 -v 後面的是什麼?

-v:新增自定義的容器卷

冒號左邊:宿主機的路徑(docker的路徑==>也就是凱哥的虛擬機器器中的路徑)

冒號右邊:容器內的路徑(容器內的路徑==>也就是私服容器所在映象路徑)

--privileged=true:放開許可權。

理解如下圖:

1533d959185b33c335d6ad58ce67baf5.png

容器卷是什麼?

9f1badd4e5dacd4762f1a6da447767d9.png

f00a4e232b53c9184e3f69bfcf65ef9f.png

執行一個帶有容器卷儲存功能的容器範例命令公式

docker run -it --privileged=true -v /宿主機絕對路徑目錄:/容器內目錄 映象名稱

能幹嘛?

持久化

特點:

1:資料卷可在容器之間共用或者是重用資料

2:卷中的更改可以直接實時生效

3:資料卷中的更改不會包含在映象的更新中

4:資料卷的週期一直持續到沒用容器使用它為止

8cc49363904f09e74bb77e7dd4d876e5.png

直通車,本系列教學已釋出文章,快速到達,《Docker學習系列》教學已經發布的內容如下:

【圖文教學】Windows11下安裝Docker Desktop

【填坑】在windows系統下安裝Docker Desktop後遷移映象位置

【Docker學習系列】Docker學習1-docker安裝

【Docker學習系列】Docker學習2-docker設定映象加速器

【Docker學習系列】Docker學習3-docker的run命令幹了什麼?docker為什麼比虛擬機器器快?

【Docker學習系列】Docker學習2-常用命令之啟動命令和映象命令

【Docker學習系列】Docker學習系列3:常用命令之容器命令

【Docker學習系列】Docker學習4-常用命令之重要的容器命令

【Docker教學系列】Docker學習5-Docker映象理解

【Docker教學系列】Docker學習6-Docker映象commit操作案例

【Docker學習教學系列】7-如何將原生的Docker映象釋出到阿里雲

【Docker學習教學系列】8-如何將原生的Docker映象釋出到私服?

【Docker學習教學系列彙總】筆記及遇到問題解決文章