Docker容器數(shù)據(jù)卷技術(shù)介紹
Docker容器數(shù)據(jù)卷技術(shù)介紹
一、卷技術(shù)介紹
現(xiàn)在我們知道docker的理念就是把應(yīng)用和環(huán)境打包成鏡像,方便我們?nèi)ミ\(yùn)行容器。
但是現(xiàn)在有一個(gè)問題,比如我容器里的mysql存了好多的數(shù)據(jù),那萬一容器被刪除,數(shù)據(jù)是不是就沒了?這顯然不合適。
于是,一個(gè)新的需求產(chǎn)生了:將數(shù)據(jù)存儲(chǔ)在容器之外的地方,比如本地。對(duì)應(yīng)的解決方案就是卷技術(shù)了,通過它,將容器中產(chǎn)生的數(shù)據(jù)同步到本地,讓容器之間可以共享數(shù)據(jù)。
卷技術(shù),說白了就是目錄的掛載,將容器內(nèi)的目錄掛載到linux上。如圖所示,將容器里的/usr/mysql
掛載到外部linux下的/home/mysql
?,F(xiàn)在不僅mysql容器可以使用,其他的2個(gè)容器同樣可以使用,實(shí)現(xiàn)了數(shù)據(jù)共享。
所以,卷技術(shù)的關(guān)鍵詞:持久化、同步、數(shù)據(jù)共享。
二、使用數(shù)據(jù)卷
使用命令-v
。
docker run -it -v 主機(jī)目錄:容器目錄
現(xiàn)在我要啟動(dòng)centos鏡像,并且把容器內(nèi)的/home
目錄,掛載到主機(jī)的/home/test/
目錄下:
docker run -it -v /home/test:/home centos /bin/bash
可以看到啟動(dòng)容器成功,為了方便,我多開一個(gè)窗口。
這時(shí)候用docker inspect
命令來查看容器,可以看到掛載情況。
docker inspect 370ff4e87083
找到Mounts
,可以看到具體綁定明細(xì)。
現(xiàn)在容器內(nèi)的/home
目錄下是空的,對(duì)應(yīng)的主機(jī)的/home/test/
下也是空的。
接著,我在容器內(nèi)的/home下新建個(gè)文件new.txt
,然后查看主機(jī)下的/home
目錄,發(fā)現(xiàn)文件已經(jīng)同步。
反向操作
上面是從容器內(nèi)到容器外,現(xiàn)在反過來,從主機(jī)目錄下再增加一個(gè)文件second.txt
,然后再到容器內(nèi)查看,也是同步的。
停止容器
如果容器停止了,我在外面把文件都刪掉了,當(dāng)再次啟動(dòng)容器后進(jìn)去查看,也是同步的。
重啟容器,進(jìn)入容器的/home下查看,也是空的。
相信現(xiàn)在應(yīng)該可以體會(huì)到容器卷的作用了,比如有些容器里涉及需要改配置的,那么掛載到主機(jī)目錄下之后,就不需要進(jìn)入容器修改了,直接在外面修改,容器內(nèi)自動(dòng)同步,更多關(guān)于Docker容器數(shù)據(jù)卷的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- docker 啟動(dòng)elasticsearch鏡像,掛載目錄后報(bào)錯(cuò)的解決
- docker-修改容器掛載目錄的3種方法小結(jié)
- docker 查看容器的掛載目錄操作
- docker中容器數(shù)據(jù)卷volume介紹
- Docker容器中數(shù)據(jù)卷volumes的使用
- Docker容器數(shù)據(jù)卷介紹及操作示例
- Docker數(shù)據(jù)卷掛載命令volume(-v)與mount的使用總結(jié)
- Docker容器數(shù)據(jù)卷的使用教程
- Docker中容器數(shù)據(jù)卷詳解
- docker如何對(duì)已經(jīng)啟動(dòng)的容器添加目錄映射(掛載目錄)
- Docker數(shù)據(jù)卷和掛載目錄的使用
相關(guān)文章
樹莓派3B+安裝64位ubuntu系統(tǒng)和docker工具的操作步驟詳解
這篇文章主要介紹了樹莓派3B+安裝64位ubuntu系統(tǒng)和docker工具,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09淺談docker運(yùn)行nginx為什么要使用daemon off
這篇文章主要介紹了淺談docker運(yùn)行nginx為什么要使用daemon off,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01Docker部署前后端分離項(xiàng)目的實(shí)現(xiàn)示例
本文主要介紹了Docker部署前后端分離項(xiàng)目的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11如何進(jìn)入、退出docker的container實(shí)現(xiàn)
這篇文章主要介紹了如何進(jìn)入、退出docker的container實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11關(guān)于docker?compose安裝redis集群的問題(集群擴(kuò)容、集群收縮)
這篇文章主要介紹了docker?compose安裝redis集群、集群擴(kuò)容、集群收縮,主要包括redis配置信息模板,編寫批量生成配置文件腳本的相關(guān)命令,需要的朋友參考下吧2022-03-03docker通過Dockerfile修改鏡像中tomcat的端口
8080端口會(huì)經(jīng)常出現(xiàn)被占用的情況,本文主要介紹了docker通過Dockerfile修改鏡像中tomcat的端口,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10nerdctl替代docker及docker-compose的安裝使用
這篇文章主要為大家介紹了nerdctl替代docker及docker-compose的安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06如何利用Docker部署一個(gè)簡(jiǎn)單的springboot項(xiàng)目
這篇文章主要介紹了如何利用Docker部署一個(gè)簡(jiǎn)單的springboot項(xiàng)目,本文通過實(shí)例圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02