「Docker學習系列教程」9-Docker容器數據卷介紹

通過前面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學習教程系列彙總】筆記及遇到問題解決文章

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章