動力節(jié)點(diǎn)-始于2009年,口口相傳的Java黃埔軍校 400-8080-105

免費(fèi)學(xué)前測評 領(lǐng)取最新教程資料

查看家門口的動力節(jié)點(diǎn)
當(dāng)前位置: 首頁 > 行業(yè)快訊 > 深入了解docker下載鏡像

深入了解docker下載鏡像

來源: 動力節(jié)點(diǎn) 時間:2023-04-23 08:47:53

  • 免費(fèi)預(yù)約測評,鑒定適合再學(xué)
  • 4大方法+專家考評團(tuán)把關(guān)
  • 預(yù)約成功即送15天零基礎(chǔ)面授課

今日已有176人預(yù)約測評

  • 張同學(xué)137****9950預(yù)約成功
  • 歐陽同學(xué)186****9232預(yù)約成功
  • 趙同學(xué)132****3458預(yù)約成功
  • 李同學(xué)137****4580預(yù)約成功
  • 趙同學(xué)180****1218預(yù)約成功
  • 蔡同學(xué)186****2232預(yù)約成功

容器技術(shù)是一個輕量的 、操作系統(tǒng)級別的虛擬化技術(shù),因其快速啟動、易擴(kuò)展遷移等特性受到開發(fā)運(yùn)營人員的青睞,Docker是最流行的容器技術(shù)之一。

Docker鏡像是Docker技術(shù)的一個重要組成,具有分層、按內(nèi)容尋址、共享鏡像層等特點(diǎn),可通過docker pull、docker push命令實(shí)現(xiàn)對鏡像的分發(fā),使得鏡像可以在不同的宿主機(jī)之間遷移。

本文針對鏡像下載過程,先介紹Docker鏡像特點(diǎn)和通用背景知識;隨后介紹Docker pull命令執(zhí)行的各個階段;然后重點(diǎn)介紹鏡像下載過程面臨的安全風(fēng)險和應(yīng)提供的安全保障;最后是對全文的總結(jié)。

Docker鏡像概述

Docker鏡像類似于未運(yùn)行的exe應(yīng)用程序,或者停止運(yùn)行的VM。當(dāng)使用docker run命令基于鏡像啟動容器時,容器應(yīng)用便能為外部提供服務(wù)。

Docker鏡像存儲于鏡像倉庫Registry中,鏡像倉庫是存儲、管理、分發(fā)鏡像的一種應(yīng)用服務(wù)。

Repository是同一類Docker鏡像的集合,包含了不同tag的Docker鏡像,比如A:v1.0,A:v2.0都屬于repository A。

Docker鏡像、容器、鏡像倉庫和Repository之間的關(guān)系如下圖所示:

docker下載鏡像

Docker鏡像具有分層、按內(nèi)容尋址、共享鏡像層等特點(diǎn)。一個Docker鏡像被劃分為多個鏡像層layer。每一個layer都有唯一的標(biāo)識diffid,基于layer內(nèi)容經(jīng)過sha256計算得出,且可以通過diffid得到layer的索引ID,實(shí)現(xiàn)按內(nèi)容尋址。也因?yàn)镈ocker鏡像分層的特點(diǎn),可以實(shí)現(xiàn)不同鏡像間共享相同layer,避免重復(fù)下載,節(jié)約資源,提升效率。

Docker鏡像和layer的關(guān)系如下圖所示:

docker下載鏡像

docker pull過程

可使用docker pull命令從鏡像倉庫中下載Docker鏡像。

一次docker pull命令執(zhí)行過程如下圖所示:

docker下載鏡像

從命令執(zhí)行過程中可以看出,Docker鏡像下載時會經(jīng)歷如下過程:

  • Pulling from XXX:解析用戶輸入的參數(shù),與指定的鏡像倉庫建立鏈接
  • Already existed:檢索本地已有鏡像,避免重復(fù)下載
  • Waiting:該layer正在等待下載
  • Pulling fs layer:下載layer的元數(shù)據(jù)信息
  • Downloading,download complete:下載layer
  • Extracting:解壓縮下載完成的layer
  • Pull complete:注冊layer
  • Digest: sha256:XXX:校驗(yàn)下載的所有l(wèi)ayer,并依據(jù)所有l(wèi)ayer計算得出鏡像標(biāo)識
  • Status: Downloaded newer image for XXX:鏡像下載完畢

Docker鏡像下載中的安全風(fēng)險

考慮Docker鏡像下載中面臨的安全風(fēng)險時,應(yīng)明確目標(biāo)是“安全地下載正確的鏡像”,并基于docker pull過程來分析風(fēng)險。

首先考慮鏡像倉庫

若使用互聯(lián)網(wǎng)上的公共倉庫,則應(yīng)考慮非官方倉庫的安全風(fēng)險。官方倉庫中的鏡像由Docker公司負(fù)責(zé)審查,具備較高安全性。而非官方倉庫中的鏡像可能包含惡意代碼或未修復(fù)的漏洞,并且難以及時維護(hù)更新,會給自身環(huán)境和其他系統(tǒng)帶來較高安全風(fēng)險。

若使用私有倉庫,則應(yīng)同時考慮私有倉庫內(nèi)的鏡像安全和訪問控制問題。與非官方倉庫的安全風(fēng)險相似,若對私有倉庫的鏡像安全管理控制不足,則私有倉庫內(nèi)的鏡像同樣可能包含惡意代碼或漏洞,而且出于對自身維護(hù)的私有倉庫的信任,使用這些不安全的鏡像所帶來的風(fēng)險和造成的后果可能比非官方倉庫的情況更嚴(yán)重。

此外,使用私有倉庫時應(yīng)考慮訪問控制問題。若未經(jīng)授權(quán)的攻擊者能輕易訪問私有倉庫,則攻擊者可能竊取鏡像中的機(jī)密信息,如訪問數(shù)據(jù)庫的口令、安全私有軟件包所需的令牌等,破壞鏡像的機(jī)密性;或者攻擊者可能篡改鏡像,破壞鏡像的完整性。

其次考慮鏡像下載過程,

鏡像從鏡像倉庫被拉取到本地主機(jī)的過程中,若沒有足夠的安全防護(hù)措施,則容易遭受中間人攻擊,通過會話劫持等手段使用戶請求重定向到非法鏡像源,導(dǎo)致鏡像的篡改。

Docker鏡像下載中的安全保障

基于上述安全風(fēng)險,應(yīng)考慮實(shí)施如下安全保障:

  • 本地主機(jī)配置僅從可信鏡像源下載鏡像,規(guī)避來自不可信鏡像源的未知鏡像的風(fēng)險??赏ㄟ^修改docker配置文件實(shí)現(xiàn)
  • 對于私有倉庫,應(yīng)定期進(jìn)行漏洞掃描和基線核查,確保倉庫內(nèi)鏡像的安全性??赏ㄟ^集成第三方安全掃描工具實(shí)現(xiàn)
  • 對于私有倉庫,應(yīng)配置相應(yīng)的訪問控制措施,僅允許授權(quán)用戶上傳和下載鏡像??赏ㄟ^鏡像倉庫的賬戶管理功能實(shí)現(xiàn)
  • 本地主機(jī)開啟Docker內(nèi)容信任機(jī)制(Docker Content Trust, DCT),對docker pull的鏡像校驗(yàn)其簽名,校驗(yàn)鏡像的來源和發(fā)布者。可通過配置環(huán)境變量DOCKER_CONTENT_TRUST實(shí)現(xiàn)
  • 校驗(yàn)各layer的sha256值,校驗(yàn)鏡像的完整性。Docker鏡像下載過程中已自帶該校驗(yàn)過程

總結(jié)

Docker鏡像是Docker技術(shù)中的重要組成部分,具有分層、按內(nèi)容尋址、體積小等一系列優(yōu)點(diǎn),并能通過鏡像倉庫便捷地進(jìn)行分發(fā)。但Docker鏡像下載過程中也面臨諸多安全風(fēng)險,如鏡像篡改、非法鏡像等。只有正確地實(shí)施足夠的安全措施,才能正常地使用docker鏡像,享受Docker技術(shù)為我們帶來的便利。

以上就是動力節(jié)點(diǎn)小編介紹的"深入了解docker下載鏡像",希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時為您務(wù)。

聲明:本站稿件版均屬動力節(jié)點(diǎn)所有,未經(jīng)允許禁止轉(zhuǎn)載

猜你喜歡

零基礎(chǔ)學(xué)Java,為什么要首選實(shí)驗(yàn)班?

零基礎(chǔ)學(xué)Java,為什么要首選實(shí)驗(yàn)班?

零基礎(chǔ)學(xué)Java,你有沒有下面這些困惑呢?對Java了解不深,學(xué)完不知道能做什么?想轉(zhuǎn)行,又害怕辭職培訓(xùn)就業(yè)沒保障?專業(yè)不對口,怕學(xué)完不好就業(yè)?覺得學(xué)費(fèi)貴,經(jīng)濟(jì)壓力大?沒編程經(jīng)驗(yàn),擔(dān)心不適合這個職業(yè)?想自學(xué),又怕學(xué)的不牢靠找不到工作,浪費(fèi)時間?詳情>>

2023-07-28 10:05:44

動力節(jié)點(diǎn)學(xué)員舒心學(xué)習(xí)背后,D9信息化教學(xué)服務(wù)平臺是如何高效助學(xué)的?!

動力節(jié)點(diǎn)學(xué)員舒心學(xué)習(xí)背后,D9信息化教學(xué)服務(wù)平臺是如何高效助學(xué)的?!

動力節(jié)點(diǎn)成立14年,目前設(shè)有10個分校,同時在校的學(xué)生人數(shù)眾多,怎樣實(shí)現(xiàn)統(tǒng)一管理?口口相傳的Java黃埔軍校,嚴(yán)格的教學(xué)管理服務(wù)制度怎樣被“復(fù)制”到各個校區(qū)呢?學(xué)員高薪就業(yè),高就業(yè)率又是怎樣在各校區(qū)得以延續(xù)?詳情>>

2023-07-28 09:55:43

全國程序員薪酬大曝光!看完我酸了,33% 程序員月薪達(dá)到.....

全國程序員薪酬大曝光!看完我酸了,33% 程序員月薪達(dá)到.....

2023年,隨著互聯(lián)網(wǎng)產(chǎn)業(yè)的蓬勃發(fā)展,程序員作為一個自帶“高薪多金”標(biāo)簽的熱門群體,被越來越多的人所關(guān)注。詳情>>

2023-07-20 16:14:40

上海Java培訓(xùn)講師師資團(tuán)隊(duì) >更多

杜老師 Linux專家 大廠技術(shù)顧問專家 被譽(yù)為“Java教父”

孫老師 知名IT作家 原復(fù)旦大學(xué)教授 國內(nèi)首批架構(gòu)師骨干

Cat老師 資深架構(gòu)師 億級交易架構(gòu)保障專家 擅長高并發(fā)高性能高可用

郭老師 高級軟件工程師 曾任技術(shù)總監(jiān) 擅長大型金融/銀行支付業(yè)務(wù)

秦老師 原阿里高級工程師 資深系統(tǒng)架構(gòu)師 精通云計算物聯(lián)網(wǎng)底層技術(shù)

王老師 高級軟件工程師 擅長零基礎(chǔ)實(shí)戰(zhàn)教學(xué) 被譽(yù)為“Java啟蒙天后”

楊老師 資深軟件工程師 北京奧運(yùn)場館人臉信息采集項(xiàng)目負(fù)責(zé)人

王老師 曾任某上市公司系統(tǒng)架構(gòu)師 分布式,微服務(wù)實(shí)戰(zhàn)應(yīng)用專家

崔老師 特派海歸軟件工程師 曾任百度資深架構(gòu)師

上海開班

>更多

Java實(shí)驗(yàn)班 2024-10-26 即將報滿

Java實(shí)驗(yàn)班 2024-11-26 即將報滿

Java實(shí)驗(yàn)班 2024-12-27 即將報滿

Java就業(yè)班 2024-11-12 即將報滿

Java就業(yè)班 2024-12-12 即將報滿

Java就業(yè)班 2025-01-11 即將報滿

熱搜標(biāo)簽

Java培訓(xùn)班學(xué)費(fèi) Java培訓(xùn)班畢業(yè)找工作 零基礎(chǔ)學(xué)Java好找工作嗎 Java程序員好找工作嗎 自學(xué)Java好找工作嗎 學(xué)Java能做什么工作 Java就業(yè)前景 學(xué)Java要學(xué)多久 零基礎(chǔ)學(xué)Java難嗎 培訓(xùn)班學(xué)Java怎么樣 什么樣的人適合學(xué)Java Java培訓(xùn)多少錢 Java培訓(xùn)班靠譜嗎
400-8080-105 在線咨詢3秒即回
官方微信 隨時了解最新動態(tài)
掃一掃進(jìn)入 動力節(jié)點(diǎn)手機(jī)站

運(yùn)營主體北京動力節(jié)點(diǎn)教育科技有限公司,屬具備計算機(jī)技術(shù)培訓(xùn)資質(zhì)的教育培訓(xùn)機(jī)構(gòu)