第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁(yè) 慕課教程 Docker 入門(mén)教程 Docker 入門(mén)教程 Docker 數(shù)據(jù)管理 - 掛載目錄或文件

Docker 數(shù)據(jù)管理 - 掛載目錄或文件

通過(guò)前面小節(jié)的學(xué)習(xí)我們知道:使用Docker時(shí),產(chǎn)生的數(shù)據(jù)默認(rèn)是保存到容器的UnionFS的讀寫(xiě)層中的。那么,我們不妨思考下這兩個(gè)問(wèn)題:

  1. 如果不啟動(dòng)容器卻想訪問(wèn)數(shù)據(jù)該怎么辦?
  2. 容器被銷(xiāo)毀或損壞,數(shù)據(jù)也就消失了,這合理嗎?

是的,我想我們的答案應(yīng)該是一樣的,容器和數(shù)據(jù)不應(yīng)該被綁定在一起。為此,Docker 提供了兩類(lèi)數(shù)據(jù)管理的方式:

  1. 掛載宿主機(jī)目錄或文件;
  2. 使用數(shù)據(jù)卷;

本節(jié),我們將介紹如何將宿主機(jī)的目錄或文件掛載到 Docker 容器。

1. 掛載宿主機(jī)目錄

我們可以將宿主機(jī)的目錄,掛載到容器內(nèi),容器與宿主機(jī)的目錄可以實(shí)時(shí)共享。在宿主機(jī)上執(zhí)行如下命令:

# 新建一個(gè)目錄
mkdir -p ~/mydir/tmp
# 在目錄中新建一個(gè)文件,填充內(nèi)容 hello docker
echo "hello docker" >  ~/mydir/tmp/text.txt 

然后新建一個(gè)容器 busybox,將 /mydir/tmp 目錄掛載到容器的 /tmp/ 目錄:

docker run -d -it --name busybox -v ~/mydir/tmp/:/tmp/ busybox

Tips:掛載宿主操作系統(tǒng)目錄的參數(shù)是 -v <宿主機(jī)目錄路徑>:<容器目錄路徑>。

確認(rèn)查看容器對(duì)應(yīng)的文件內(nèi)容:

docker exec -it busybox cat /tmp/text.txt

如圖所示:
圖片描述

目錄掛載

2. 掛載宿主機(jī)文件

我們也可以將宿主機(jī)的文件掛載到容器內(nèi),實(shí)現(xiàn)文件的共享。新建一個(gè)容器 busybox2,將 /mydir/tmp/text.txt 文件掛載到容器的 /tmp/text.txt

docker run -d -it --name busybox2 -v ~/mydir/tmp/text.txt:/tmp/text.txt busybox

Tips:掛載宿主操作系統(tǒng)目錄的參數(shù)是 -v <宿主機(jī)文件路徑>:<容器文件路徑>。

確認(rèn)容器對(duì)應(yīng)的文件內(nèi)容:

docker exec -it busybox2 cat /tmp/text.txt

如圖所示:
圖片描述

文件掛載

Tips:使用 docker rm -f busybox busybox2 移除不再使用的容器。

3. 小結(jié)

通過(guò)掛載宿主機(jī)的目錄或文件,可以在宿主機(jī)和容器間方便地共享數(shù)據(jù),包括將提前準(zhǔn)備好的配置文件掛載到容器,或者在開(kāi)發(fā)調(diào)試過(guò)程中將代碼移入 Docker 環(huán)境試運(yùn)行等。