網(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)有不屈的開(kāi)拓者。”。
原文鏈接:https://blog.csdn.net/qq_53463544/article/details/127478727
相關(guān)推薦
- 2022-04-07 Go語(yǔ)言中的Base64編碼原理介紹以及使用_Golang
- 2022-06-13 Python基本數(shù)據(jù)類型及內(nèi)置方法_python
- 2022-05-20 利用PyQt5模擬實(shí)現(xiàn)網(wǎng)頁(yè)鼠標(biāo)移動(dòng)特效_python
- 2022-10-11 Data truncation: Data too long for column ‘context
- 2023-03-20 C#如何判斷.Net?Framework版本是否滿足軟件運(yùn)行需要的版本_C#教程
- 2023-05-29 tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說(shuō)明_python
- 2022-05-25 ASP.NET?Core?6.0對(duì)熱重載的支持實(shí)例詳解_實(shí)用技巧
- 2023-02-04 C語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)掃描器的自動(dòng)機(jī)的示例詳解_C 語(yǔ)言
- 最近更新
-
- 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)程分支