docker數(shù)據(jù)管理使用及說(shuō)明
1.數(shù)據(jù)卷
數(shù)據(jù)卷 是一個(gè)可供一個(gè)或多個(gè)容器使用的特殊目錄,它繞過(guò) UnionFS,可以提供很多有用的特性:
- 數(shù)據(jù)卷 可以在容器之間共享和重用
- 對(duì) 數(shù)據(jù)卷 的修改會(huì)立馬生效
- 對(duì) 數(shù)據(jù)卷 的更新,不會(huì)影響鏡像
- 數(shù)據(jù)卷 默認(rèn)會(huì)一直存在,即使容器被刪除
數(shù)據(jù)卷 的使用,類似于 Linux 下對(duì)目錄或文件進(jìn)行 mount,鏡像中的被指定為掛載點(diǎn)的目錄中的文件會(huì)復(fù)制到數(shù)據(jù)卷中(僅數(shù)據(jù)卷為空時(shí)會(huì)復(fù)制)
1、創(chuàng)建一個(gè)數(shù)據(jù)卷
docker volume create my-vol
2、查看所有的 數(shù)據(jù)卷
docker volume ls

3、在主機(jī)里使用以下命令可以查看指定 數(shù)據(jù)卷 的信息
docker volume inspect my-vol

2.啟動(dòng)一個(gè)掛載數(shù)據(jù)卷的容器
在用 docker run 命令的時(shí)候,使用 --mount 標(biāo)記來(lái)將 數(shù)據(jù)卷 掛載到容器里。在一次 docker run 中可以掛載多個(gè)數(shù)據(jù)卷:
下面創(chuàng)建一個(gè)名為 web 的容器,并加載一個(gè)數(shù)據(jù)卷到容器的 /usr/share/nginx/html 目錄:
docker run -d -P \
--name web \
--mount source=my-vol,target=/usr/share/nginx/html \
nginx:alpine

docker ps查看映射的端口,訪問(wèn),進(jìn)入nginx默認(rèn)頁(yè)面:

3.查看數(shù)據(jù)卷的具體信息/刪除數(shù)據(jù)卷
1、在主機(jī)里使用以下命令可以查看 web 容器的信息:

數(shù)據(jù)卷是被設(shè)計(jì)用來(lái)持久化數(shù)據(jù)的,它的生命周期獨(dú)立于容器,Docker 不會(huì)在容器被刪除后自動(dòng)刪除 數(shù)據(jù)卷,并且也不存在垃圾回收這樣的機(jī)制來(lái)處理沒(méi)有任何容器引用的 數(shù)據(jù)卷。
如果需要在刪除容器的同時(shí)移除數(shù)據(jù)卷??梢栽趧h除容器的時(shí)候使用 docker rm -v 這個(gè)命令:
docker volume rm my-vol

無(wú)主的數(shù)據(jù)卷可能會(huì)占據(jù)很多空間,要清理請(qǐng)使用以下命令:
docker volume prune
4.掛載主機(jī)目錄
使用 --mount 標(biāo)記可以指定掛載一個(gè)本地主機(jī)的目錄到容器中去:
docker run -d -P \
--name web \
--mount type=bind,source=/src/webapp,target=/usr/share/nginx/html \
nginx:alpine
上面的命令加載主機(jī)的 /src/webapp 目錄到容器的 /usr/share/nginx/html目錄。
這個(gè)功能在進(jìn)行測(cè)試的時(shí)候十分方便,比如用戶可以放置一些程序到本地目錄中,來(lái)查看容器是否正常工作
Docker 掛載主機(jī)目錄的默認(rèn)權(quán)限是讀寫,用戶也可以通過(guò)增加 readonly 指定為只讀:
docker run -d -P \
--name web \
--mount type=bind,source=/src/webapp,target=/usr/share/nginx/html,readonly \
nginx:alpine
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker鏡像指南之從核心命令到離線遷移實(shí)戰(zhàn)
Docker鏡像為只讀分層文件,包含應(yīng)用及依賴,通過(guò)聯(lián)合文件系統(tǒng)實(shí)現(xiàn)高效共享和構(gòu)建,其不可變特性確??绛h(huán)境一致性,簡(jiǎn)化標(biāo)準(zhǔn)化交付,提升部署效率,支持離線遷移,接下來(lái)通過(guò)本文給大家介紹Docker鏡像指南之從核心命令到離線遷移實(shí)戰(zhàn),感興趣的朋友跟隨小編一起看看吧2025-09-09
使用docker安裝hadoop的實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了使用docker安裝hadoop的詳細(xì)過(guò)程,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01
Docker構(gòu)建簡(jiǎn)單的個(gè)人主頁(yè)網(wǎng)站實(shí)戰(zhàn)教程
Docker是一種開(kāi)源容器化技術(shù),可以打包、發(fā)布和運(yùn)行應(yīng)用程序,本教程介紹了如何使用Docker構(gòu)建一個(gè)簡(jiǎn)單的個(gè)人主頁(yè)網(wǎng)站,通過(guò)編寫Dockerfile來(lái)自定義鏡像,并展示了如何通過(guò)傳入環(huán)境變量來(lái)動(dòng)態(tài)更改網(wǎng)頁(yè)內(nèi)容,項(xiàng)目使用的技術(shù)包括Docker、Alpine、Nginx、HTML、CSS和JavaScript2024-10-10
Docker部署MySQL并實(shí)現(xiàn)客戶端連接
這篇文章介紹了Docker部署MySQL并實(shí)現(xiàn)客戶端連接的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01
Docker如何給Springboot項(xiàng)目動(dòng)態(tài)傳參的實(shí)現(xiàn)方法
這篇文章主要介紹了Docker如何給Springboot項(xiàng)目動(dòng)態(tài)傳參的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
docker配置修改阿里云鏡像倉(cāng)庫(kù)的實(shí)現(xiàn)
這篇文章主要介紹了docker配置修改阿里云鏡像倉(cāng)庫(kù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

