日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 知識百科

云計算核心技術(shù)Docker教程:容器持久化數(shù)據(jù)

來源: 責(zé)編: 時間:2023-08-07 16:30:07 290觀看
導(dǎo)讀 如果您沒有注意到,每次我們啟動容器時,我們的待辦事項(xiàng)列表都會被清除干凈。為什么是這樣?讓我們深入了解容器是如何工作的。容器的文件系統(tǒng)當(dāng)一個容器運(yùn)行時,它使用圖像中的各個

如果您沒有注意到,每次我們啟動容器時,我們的待辦事項(xiàng)列表都會被清除干凈。為什么是這樣?讓我們深入了解容器是如何工作的。vjb28資訊網(wǎng)——每日最新資訊28at.com

容器的文件系統(tǒng)vjb28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)一個容器運(yùn)行時,它使用圖像中的各個層作為其文件系統(tǒng)。每個容器還有自己的“暫存空間”來創(chuàng)建/更新/刪除文件。任何更改都不會在另一個容器中看到,即使它們使用相同的圖像。vjb28資訊網(wǎng)——每日最新資訊28at.com

為了看到這一點(diǎn),我們將啟動兩個容器并在每個容器中創(chuàng)建一個文件。您將看到在一個容器中創(chuàng)建的文件在另一個容器中不可用。vjb28資訊網(wǎng)——每日最新資訊28at.com

1.啟動一個ubuntu容器,該容器將創(chuàng)建一個以/data.txt1 到 10000 之間的隨機(jī)數(shù)命名的文件。vjb28資訊網(wǎng)——每日最新資訊28at.com

docker run -d ubuntu bash -c "shuf -i 1-10000 -n 1 -o /data.txt && tail -f /dev/null"vjb28資訊網(wǎng)——每日最新資訊28at.com

如果您對該命令感到好奇,我們將啟動一個 bash shell 并調(diào)用兩個命令(為什么我們有&&)。第一部分選擇一個隨機(jī)數(shù)并將其寫入/data.txt. 第二個命令只是監(jiān)視一個文件以保持容器運(yùn)行。vjb28資訊網(wǎng)——每日最新資訊28at.com

2.驗(yàn)證我們可以通過execing 到容器中看到輸出。為此,請打開儀表板并單擊運(yùn)行ubuntu映像的容器的第一個操作。vjb28資訊網(wǎng)——每日最新資訊28at.com

QQ截圖20220402151649vjb28資訊網(wǎng)——每日最新資訊28at.com

您將看到一個終端在 ubuntu 容器中運(yùn)行 shell。運(yùn)行以下命令以查看/data.txt文件的內(nèi)容。之后再次關(guān)閉此終端。vjb28資訊網(wǎng)——每日最新資訊28at.com

$ cat /data.txtvjb28資訊網(wǎng)——每日最新資訊28at.com

如果您更喜歡命令行,您可以使用該docker exec命令來執(zhí)行相同的操作。您需要獲取容器的ID(用于docker ps獲取它)并使用以下命令獲取內(nèi)容。vjb28資訊網(wǎng)——每日最新資訊28at.com

$ docker exec <container-id> cat /data.txtvjb28資訊網(wǎng)——每日最新資訊28at.com

你應(yīng)該看到一個隨機(jī)數(shù)!vjb28資訊網(wǎng)——每日最新資訊28at.com

3.現(xiàn)在,讓我們啟動另一個ubuntu容器(相同的圖像),我們會看到我們沒有相同的文件。vjb28資訊網(wǎng)——每日最新資訊28at.com

$ docker run -it ubuntu ls /vjb28資訊網(wǎng)——每日最新資訊28at.com

看!那里沒有data.txt文件!那是因?yàn)樗鼉H被寫入第一個容器的暫存空間。vjb28資訊網(wǎng)——每日最新資訊28at.com

4.繼續(xù)并使用docker rm -f <container-id>命令刪除第一個容器。vjb28資訊網(wǎng)——每日最新資訊28at.com

通過前面的實(shí)驗(yàn),我們看到每個容器每次啟動都是從鏡像定義開始的。雖然容器可以創(chuàng)建、更新和刪除文件,但當(dāng)容器被移除并且所有更改都與該容器隔離時,這些更改會丟失。有了卷,我們可以改變這一切。vjb28資訊網(wǎng)——每日最新資訊28at.com

卷提供了將容器的特定文件系統(tǒng)路徑連接回主機(jī)的能力。如果容器中的目錄已掛載,則該目錄中的更改也會在主機(jī)上看到。如果我們在容器重啟時掛載相同的目錄,我們會看到相同的文件。vjb28資訊網(wǎng)——每日最新資訊28at.com

卷有兩種主要類型。我們最終將同時使用兩者,但我們將從命名卷開始。vjb28資訊網(wǎng)——每日最新資訊28at.com

持久化數(shù)據(jù)vjb28資訊網(wǎng)——每日最新資訊28at.com

默認(rèn)情況下,待辦事項(xiàng)應(yīng)用程序?qū)⑵鋽?shù)據(jù)存儲在容器文件系統(tǒng)中的SQLite 數(shù)據(jù)庫中。/etc/todos/todo.db如果你不熟悉 SQLite,不用擔(dān)心!它只是一個關(guān)系數(shù)據(jù)庫,其中所有數(shù)據(jù)都存儲在一個文件中。雖然這對于大型應(yīng)用程序來說不是最好的,但它適用于小型演示。稍后我們將討論將其切換到不同的數(shù)據(jù)庫引擎。vjb28資訊網(wǎng)——每日最新資訊28at.com

由于數(shù)據(jù)庫是單個文件,如果我們可以將該文件保存在主機(jī)上并使其可用于下一個容器,它應(yīng)該能夠從最后一個停止的地方繼續(xù)。通過創(chuàng)建一個卷并將其附加(通常稱為“掛載”)到存儲數(shù)據(jù)的目錄,我們可以持久化數(shù)據(jù)。當(dāng)我們的容器寫入todo.db文件時,它將被持久化到卷中的主機(jī)。vjb28資訊網(wǎng)——每日最新資訊28at.com

如前所述,我們將使用命名卷。將命名卷視為簡單的數(shù)據(jù)桶。Docker 維護(hù)磁盤上的物理位置,您只需要記住卷的名稱。每次使用卷時,Docker 都會確保提供正確的數(shù)據(jù)。vjb28資訊網(wǎng)——每日最新資訊28at.com

1.使用docker volume create命令創(chuàng)建卷。vjb28資訊網(wǎng)——每日最新資訊28at.com

$ docker volume create todo-dbvjb28資訊網(wǎng)——每日最新資訊28at.com

2.在儀表板(或使用 )中再次停止并刪除待辦事項(xiàng)應(yīng)用程序容器docker rm -f <id>,因?yàn)樗栽谶\(yùn)行而不使用持久卷。vjb28資訊網(wǎng)——每日最新資訊28at.com

3.啟動 todo 應(yīng)用程序容器,但添加-v標(biāo)志以指定卷安裝。我們將使用命名卷并將其掛載到/etc/todos,這將捕獲在該路徑創(chuàng)建的所有文件。vjb28資訊網(wǎng)——每日最新資訊28at.com

$ docker run -dp 3000:3000 -v todo-db:/etc/todos getting-startedvjb28資訊網(wǎng)——每日最新資訊28at.com

4.容器啟動后,打開應(yīng)用程序并將一些項(xiàng)目添加到您的待辦事項(xiàng)列表中。vjb28資訊網(wǎng)——每日最新資訊28at.com

5.停止并刪除 todo 應(yīng)用程序的容器。使用儀表板或docker ps獲取 ID,然后docker rm -f <id>將其刪除。vjb28資訊網(wǎng)——每日最新資訊28at.com

6.使用上面的相同命令啟動一個新容器。vjb28資訊網(wǎng)——每日最新資訊28at.com

7.打開應(yīng)用程序。您應(yīng)該會看到您的項(xiàng)目仍在您的列表中!vjb28資訊網(wǎng)——每日最新資訊28at.com

8.完成檢查列表后,繼續(xù)刪除容器。vjb28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-119-2257-0.html云計算核心技術(shù)Docker教程:容器持久化數(shù)據(jù)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: AMD宣布斥資19億美元收購云計算創(chuàng)企Pensando

下一篇: 卷積神經(jīng)網(wǎng)絡(luò)性能優(yōu)化

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 5月iOS設(shè)備性能榜:M1 M2依舊是榜單前五

    和上個月一樣,沒有新品發(fā)布的iOS設(shè)備性能榜的上榜設(shè)備并沒有什么更替,僅僅只有跑分變化而產(chǎn)生的排名變動,剛剛開始的蘋果WWDC2023,推出的產(chǎn)品也依舊是新款Mac Pro、新款Mac Stu
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學(xué)習(xí)反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進(jìn)行反混淆,尤其是使用自定義混淆器對其進(jìn)行混淆時。什么是混
  • 學(xué)習(xí)JavaScript的10個理由...

    作者 | Simplilearn編譯 | 王瑞平當(dāng)你決心學(xué)習(xí)一門語言的時候,很難選擇到底應(yīng)該學(xué)習(xí)哪一門,常用的語言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 之家push系統(tǒng)迭代之路

    前言在這個信息爆炸的互聯(lián)網(wǎng)時代,能夠及時準(zhǔn)確獲取信息是當(dāng)今社會要解決的關(guān)鍵問題之一。隨著之家用戶體量和內(nèi)容規(guī)模的不斷增大,傳統(tǒng)的靠"主動拉"獲取信息的方式已不能滿足用
  • JVM優(yōu)化:實(shí)戰(zhàn)OutOfMemoryError異常

    一、Java堆溢出堆內(nèi)存中主要存放對象、數(shù)組等,只要不斷地創(chuàng)建這些對象,并且保證 GC Roots 到對象之間有可達(dá)路徑來避免垃 圾收集回收機(jī)制清除這些對象,當(dāng)這些對象所占空間超過
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人員可能會涉及各種各樣的安全任務(wù),包括但不限于:開發(fā)某些安全工具的插件,滿足自己特定的安全需求;自定義github搜索工具,快速查找所需的安全資料、漏洞poc、exp
  • 電視息屏休眠仍有網(wǎng)絡(luò)上傳 愛奇藝被質(zhì)疑“薅消費(fèi)者羊毛”

    記者丨寧曉敏 見習(xí)生丨汗青出品丨鰲頭財經(jīng)(theSankei) 前不久,愛奇藝發(fā)布了一份亮眼的一季報,不僅營收和會員營收創(chuàng)造歷史最佳表現(xiàn),其運(yùn)營利潤也連續(xù)6個月實(shí)現(xiàn)增長。自去年年初
  • 滴滴違法違規(guī)被罰80.26億 共存在16項(xiàng)違法事實(shí)

    滴滴違法違規(guī)被罰80.26億 存在16項(xiàng)違法事實(shí)開始于2121年7月,歷經(jīng)一年時間,網(wǎng)絡(luò)安全審查辦公室對“滴滴出行”網(wǎng)絡(luò)安全審查終于有了一個暫時的結(jié)束。據(jù)“網(wǎng)信
  • 聯(lián)想的ThinkBook Plus下一版曝光,鍵盤旁邊塞個平板

    ThinkBook Plus 是聯(lián)想的一個特殊筆記本類別,它在封面放入了一塊墨水屏,也給人留下了較為深刻的印象。據(jù)有人爆料,聯(lián)想的下一款 ThinkBook Plus 可能更特殊,它
Top 主站蜘蛛池模板: 华宁县| 新余市| 临海市| 瑞金市| 洛宁县| 化德县| 灵武市| 吐鲁番市| 蒙山县| 略阳县| 凭祥市| 电白县| 神木县| 左权县| 扎鲁特旗| 河津市| 金塔县| 内江市| 垦利县| 焦作市| 分宜县| 竹北市| 扶风县| 阳西县| 浦城县| 清原| 健康| 若尔盖县| 广德县| 成都市| 邵阳市| 呼图壁县| 东城区| 读书| 丰宁| 宝鸡市| 榕江县| 弥勒县| 平顺县| 唐山市| 丽江市|