Docker容器數(shù)據(jù)卷的使用教程
前言
本文是 Docker 容器的數(shù)據(jù)卷使用的簡(jiǎn)單教程,介紹了什么是數(shù)據(jù)卷、數(shù)據(jù)卷概念、以及如何使用數(shù)據(jù)卷等。
1、數(shù)據(jù)卷概念
數(shù)據(jù)卷簡(jiǎn)單來(lái)講就是一個(gè)目錄,它是由Docker daemon 掛載到容器中的,因此數(shù)據(jù)卷并不屬于聯(lián)合文件系統(tǒng),也就是說(shuō)數(shù)據(jù)卷里面的內(nèi)容不會(huì)因?yàn)槿萜鞯膭h除而丟失。Docker啟動(dòng)后,容器內(nèi)的文件和宿主機(jī)是隔離的,如果不使用docker commit 操作提交容器為鏡像把數(shù)據(jù)保存下來(lái),數(shù)據(jù)就會(huì)因?yàn)槿萜鞯膭h除而丟失。
- 數(shù)據(jù)卷是宿主機(jī)中的一個(gè)目錄或文件
- 當(dāng)容器目錄和數(shù)據(jù)卷目錄綁定后,對(duì)方的修改會(huì)立即同步
- 一個(gè)數(shù)據(jù)卷可以被多個(gè)容器同時(shí)掛載
- 一個(gè)容器也可以被掛載多個(gè)數(shù)據(jù)卷

2、數(shù)據(jù)卷作用
docker默認(rèn)容器關(guān)閉后數(shù)據(jù)就沒(méi)了,如果不通過(guò)docker commit生成新的進(jìn)行數(shù)據(jù)就會(huì)丟失。數(shù)據(jù)卷的作用就是將docker容器運(yùn)行產(chǎn)生的數(shù)據(jù)持久化。
- 容器數(shù)據(jù)持久化
- 外部機(jī)器和容器間接通信
- 容器之間數(shù)據(jù)交換
3、配置數(shù)據(jù)卷
創(chuàng)建啟動(dòng)容器時(shí),使用 –v 參數(shù) 設(shè)置數(shù)據(jù)卷
docker run ... –v 宿主機(jī)目錄(文件):容器內(nèi)目錄(文件) ... ? #docker run -it --name=c1 -v /root/data:/root/data_container couchbase/centos7-systemd /bin/bash
容器的目錄data_container

本機(jī)的目錄data

1)此時(shí)在宿主機(jī)(本機(jī))data目錄下創(chuàng)建文件
touch test.txt
2)在容器查看data_container,發(fā)現(xiàn)同步過(guò)來(lái)了。
注意事項(xiàng):
- 目錄必須是絕對(duì)路徑
- 如果目錄不存在,會(huì)自動(dòng)創(chuàng)建
- 可以掛載多個(gè)數(shù)據(jù)卷
4、多容器進(jìn)行數(shù)據(jù)交換
- 多個(gè)容器掛載同一個(gè)數(shù)據(jù)卷
- 數(shù)據(jù)卷容器
5、數(shù)據(jù)卷容器

1)創(chuàng)建啟動(dòng)c3數(shù)據(jù)卷容器,使用 –v 參數(shù) 設(shè)置數(shù)據(jù)卷
docker run –it --name=c3 –v /volume centos:7 /bin/bash
2)創(chuàng)建啟動(dòng) c1 c2 容器,使用 –-volumes-from 參數(shù) 設(shè)置數(shù)據(jù)卷
docker run –it --name=c1 --volumes-from c3 centos:7 /bin/bash ? docker run –it --name=c2 --volumes-from c3 centos:7 /bin/bash
6、數(shù)據(jù)卷小結(jié)
1)數(shù)據(jù)卷概念
- 宿主機(jī)的一個(gè)目錄或文件
2)數(shù)據(jù)卷作用
- 容器數(shù)據(jù)持久化
- 客戶端和容器數(shù)據(jù)交換
- 容器間數(shù)據(jù)交換
3)數(shù)據(jù)卷容器
- 創(chuàng)建一個(gè)容器,掛載一個(gè)目錄,讓其他容器繼承自該容器( --volume-from )
- 通過(guò)簡(jiǎn)單方式實(shí)現(xiàn)數(shù)據(jù)卷配置
總結(jié)
數(shù)據(jù)卷可以在容器之間共享和重用;對(duì)數(shù)據(jù)卷的修改會(huì)立馬生效;對(duì)數(shù)據(jù)卷的更新,不會(huì)影響到鏡像;數(shù)據(jù)卷默認(rèn)會(huì)一直存在,即使容器被刪除。數(shù)據(jù)卷簡(jiǎn)單來(lái)講就是一個(gè)目錄,它是由Docker daemon 掛載到容器中的,因此數(shù)據(jù)卷并不屬于聯(lián)合文件系統(tǒng)。最后,送上一句自己喜歡的話:“沒(méi)有風(fēng)浪,便沒(méi)有勇敢的弄潮兒;沒(méi)有荊棘,也沒(méi)有不屈的開(kāi)拓者。”。
到此這篇關(guān)于Docker容器數(shù)據(jù)卷的使用教程的文章就介紹到這了,更多相關(guān)Docker容器數(shù)據(jù)卷使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(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ù)卷技術(shù)介紹
- Docker數(shù)據(jù)卷掛載命令volume(-v)與mount的使用總結(jié)
- Docker中容器數(shù)據(jù)卷詳解
- docker如何對(duì)已經(jīng)啟動(dòng)的容器添加目錄映射(掛載目錄)
- Docker數(shù)據(jù)卷和掛載目錄的使用
相關(guān)文章
docker通過(guò)Dockerfile修改鏡像中tomcat的端口
8080端口會(huì)經(jīng)常出現(xiàn)被占用的情況,本文主要介紹了docker通過(guò)Dockerfile修改鏡像中tomcat的端口,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10
Docker 部署單機(jī)版 Pulsar 和集群架構(gòu) Redis(開(kāi)發(fā)神器)的方法
這篇文章主要介紹了Docker 部署單機(jī)版 Pulsar 和集群架構(gòu) Redis(開(kāi)發(fā)神器)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
docker鏡像消失的問(wèn)題及臨時(shí)解決方案
本文主要介紹了docker鏡像消失的問(wèn)題及臨時(shí)解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05
docker安裝rockerChat設(shè)置聊天室的詳細(xì)步驟
這篇文章主要介紹了docker安裝rockerChat設(shè)置聊天室的方法,通過(guò)設(shè)置文件獲取docker-compose文件,文中給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-05-05
docker搭建redis主從哨兵集群的實(shí)現(xiàn)步驟
本文主要介紹了docker搭建redis主從哨兵集群的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
docker中mysql初始化及啟動(dòng)失敗問(wèn)題解決方案
這篇文章主要介紹了docker中mysql初始化及啟動(dòng)失敗問(wèn)題解決方案的相關(guān)資料,需要的朋友可以參考下2016-10-10

