網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
前言
本文是 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)有不屈的開拓者。”。
原文鏈接:https://blog.csdn.net/qq_53463544/article/details/127478727
相關(guān)推薦
- 2022-06-04 python函數(shù)的兩種嵌套方法使用_python
- 2022-10-25 Python第三方常用模塊openpyxl的簡(jiǎn)單介紹_python
- 2022-03-26 docker?registry?私有倉(cāng)庫(kù)的搭建過(guò)程_docker
- 2022-12-05 C++?Boost?MultiArray簡(jiǎn)化使用多維數(shù)組庫(kù)_C 語(yǔ)言
- 2022-10-18 EasyUI使用DataGrid實(shí)現(xiàn)動(dòng)態(tài)列數(shù)據(jù)綁定_jquery
- 2022-07-31 深入了解Go的interface{}底層原理實(shí)現(xiàn)_Golang
- 2022-06-26 Android開發(fā)快速實(shí)現(xiàn)底部導(dǎo)航欄示例_Android
- 2022-04-09 一起來(lái)學(xué)習(xí)一下python的數(shù)據(jù)類型_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支