Docker容器數(shù)據(jù)卷技術(shù)介紹
Docker容器數(shù)據(jù)卷技術(shù)介紹
一、卷技術(shù)介紹
現(xiàn)在我們知道docker的理念就是把應(yīng)用和環(huán)境打包成鏡像,方便我們?nèi)ミ\(yùn)行容器。
但是現(xiàn)在有一個問題,比如我容器里的mysql存了好多的數(shù)據(jù),那萬一容器被刪除,數(shù)據(jù)是不是就沒了?這顯然不合適。
于是,一個新的需求產(chǎn)生了:將數(shù)據(jù)存儲在容器之外的地方,比如本地。對應(yīng)的解決方案就是卷技術(shù)了,通過它,將容器中產(chǎn)生的數(shù)據(jù)同步到本地,讓容器之間可以共享數(shù)據(jù)。
卷技術(shù),說白了就是目錄的掛載,將容器內(nèi)的目錄掛載到linux上。如圖所示,將容器里的/usr/mysql掛載到外部linux下的/home/mysql?,F(xiàn)在不僅mysql容器可以使用,其他的2個容器同樣可以使用,實現(xiàn)了數(shù)據(jù)共享。

所以,卷技術(shù)的關(guān)鍵詞:持久化、同步、數(shù)據(jù)共享。
二、使用數(shù)據(jù)卷
使用命令-v。
docker run -it -v 主機(jī)目錄:容器目錄
現(xiàn)在我要啟動centos鏡像,并且把容器內(nèi)的/home目錄,掛載到主機(jī)的/home/test/目錄下:
docker run -it -v /home/test:/home centos /bin/bash
可以看到啟動容器成功,為了方便,我多開一個窗口。

這時候用docker inspect命令來查看容器,可以看到掛載情況。
docker inspect 370ff4e87083
找到Mounts,可以看到具體綁定明細(xì)。

現(xiàn)在容器內(nèi)的/home目錄下是空的,對應(yīng)的主機(jī)的/home/test/下也是空的。
接著,我在容器內(nèi)的/home下新建個文件new.txt,然后查看主機(jī)下的/home目錄,發(fā)現(xiàn)文件已經(jīng)同步。

反向操作
上面是從容器內(nèi)到容器外,現(xiàn)在反過來,從主機(jī)目錄下再增加一個文件second.txt,然后再到容器內(nèi)查看,也是同步的。

停止容器
如果容器停止了,我在外面把文件都刪掉了,當(dāng)再次啟動容器后進(jìn)去查看,也是同步的。

重啟容器,進(jìn)入容器的/home下查看,也是空的。

相信現(xiàn)在應(yīng)該可以體會到容器卷的作用了,比如有些容器里涉及需要改配置的,那么掛載到主機(jī)目錄下之后,就不需要進(jìn)入容器修改了,直接在外面修改,容器內(nèi)自動同步,更多關(guān)于Docker容器數(shù)據(jù)卷的資料請關(guān)注腳本之家其它相關(guān)文章!
- docker 啟動elasticsearch鏡像,掛載目錄后報錯的解決
- 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如何對已經(jīng)啟動的容器添加目錄映射(掛載目錄)
- Docker數(shù)據(jù)卷和掛載目錄的使用
相關(guān)文章
解決docker運(yùn)行tomcat提示找不到文件的問題
這篇文章主要介紹了docker運(yùn)行tomcat提示找不到文件的問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-03-03
docker?環(huán)境搭建、docker?與容器常用指令大全(推薦)
這篇文章主要介紹了docker?環(huán)境搭建、docker?與容器常用指令大全,主要包括docker容器操作命令匯總,文中介紹需要注意的是如果想要刪除一個容器,需要先停止該容器且如果鏡像中有運(yùn)行狀態(tài)的容器,也是無法刪除容器的,需要的朋友可以參考下2022-06-06
在docker中的mysql容器內(nèi)執(zhí)行命令與執(zhí)行SQL文件方式
文章介紹了如何通過Docker進(jìn)入MySQL容器執(zhí)行SQL文件,并總結(jié)了MySQL清空表數(shù)據(jù)的三種方法:TRUNCATE、DROP和DELETE,每種方法都有其適用場景和特點2025-01-01
Docker 解決容器時間與主機(jī)時間不一致的問題三種解決方案
這篇文章主要介紹了Docker 解決容器時間與主機(jī)時間不一致的問題的相關(guān)資料,這里提供了三種方法,供大家參考,需要的朋友可以參考下2016-12-12
詳解docker鏡像centos7配置Java運(yùn)行環(huán)境
基于docker官網(wǎng)centos7鏡像配置java運(yùn)行環(huán)境,自己安裝jdk和tomcat,解決docker容器與宿主機(jī)時間不一致問題2017-05-05
Docker如何修改正在運(yùn)行的容器的時區(qū)和時間
在Docker容器中修改時區(qū)和時間的步驟:1. 進(jìn)入容器,使用dockerexec命令以root用戶身份進(jìn)入,2. 安裝時區(qū)文件,根據(jù)基礎(chǔ)鏡像選擇合適的包管理器(如apt-get或apk),3. 設(shè)置時區(qū),通過創(chuàng)建軟鏈接或設(shè)置環(huán)境變量TZ,并更新系統(tǒng)時區(qū)2025-01-01
詳解Docker中VLAN網(wǎng)絡(luò)模式的配置
在Docker應(yīng)用到生產(chǎn)環(huán)境的時候包括了原生Bridge NAT模式、LinuxBridge VLAN模式以及利用第三方的網(wǎng)絡(luò)方案這三種,這篇文章給大家詳細(xì)介紹了Docker中VLAN網(wǎng)絡(luò)模式的配置,有需要的朋友們下面來一起看看吧。2016-10-10

