通過前面8篇文章的學習,我們已經學會了docker的安裝、docker常用的命令已經docker映象修改後提交的遠端映象倉庫及提交到公司的私服倉庫中。接下來,我們再來學學Docker另外一個重要的東西-容器資料卷。
我們先來看看一個場景:我們有多個docker容器需要使用到同一個資料,比如說A服務和B服務都需要使用到資料庫D,在資料庫容器D銷燬後,重啟,資料庫中的資料不能夠丟失。我們通過前面的學習已經知道了,容器如果被銷燬後再重啟,這個時候,容器中的原有資料就丟失了,那麼這種情況下,資料庫容器D中儲存的資料應該放在哪裡?容器自身?如果存在容器自身肯定不行,那如果存放在非容器中,那麼在容器中怎麼能存取到?能不能像Linux一樣,可以直接掛載碟符呢?答案是肯定有的。就是本文介紹的Docker容器資料卷。好了,接下來,咱們就來開始學習這個。
大家好,我是凱哥Java(kaigejava),樂於分享,每日更新技術文章,歡迎大家關注「凱哥Java」,及時瞭解更多。讓我們一起學Java。也歡迎大家有事沒事就來和凱哥聊聊~~~
直通車,本系列教學已釋出文章,快速到達,《Docker學習系列》教學已經發布的內容見章末哦~
先填坑:容器卷記得加入以下引數:
--privileged-true
為什麼需要加這個呢?
docker run -d -p 5000:5000 -v /n/myregistry/:/tmp/registry --privileged=true registry
其中 -v 後面的是什麼?
-v:新增自定義的容器卷
冒號左邊:宿主機的路徑(docker的路徑==>也就是凱哥的虛擬機器器中的路徑)
冒號右邊:容器內的路徑(容器內的路徑==>也就是私服容器所在映象路徑)
--privileged=true:放開許可權。
理解如下圖:
執行一個帶有容器卷儲存功能的容器範例命令公式
docker run -it --privileged=true -v /宿主機絕對路徑目錄:/容器內目錄 映象名稱
持久化
特點:
1:資料卷可在容器之間共用或者是重用資料
2:卷中的更改可以直接實時生效
3:資料卷中的更改不會包含在映象的更新中
4:資料卷的週期一直持續到沒用容器使用它為止
直通車,本系列教學已釋出文章,快速到達,《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映象釋出到私服?
本文來自部落格園,作者:kaizi1992,轉載請註明原文連結:https://www.cnblogs.com/kaigejava/p/16972980.html