Docker 教程之基本概念(鏡像,容器,倉(cāng)庫(kù))詳解
鏡像
Docker 包括三個(gè)基本概念
- 鏡像(Image)
- 容器(Container)
- 倉(cāng)庫(kù)(Repository)
理解了這三個(gè)概念,就理解了 Docker 的整個(gè)生命周期。
Docker 鏡像
Docker 鏡像就是一個(gè)只讀的模板。
例如:一個(gè)鏡像可以包含一個(gè)完整的 ubuntu 操作系統(tǒng)環(huán)境,里面僅安裝了 Apache 或用戶(hù)需要的其它應(yīng)用程序。
鏡像可以用來(lái)創(chuàng)建 Docker 容器。
Docker 提供了一個(gè)很簡(jiǎn)單的機(jī)制來(lái)創(chuàng)建鏡像或者更新現(xiàn)有的鏡像,用戶(hù)甚至可以直接從其他人那里下載一個(gè)已經(jīng)做好的鏡像來(lái)直接使用。
Docker 容器
Docker 利用容器來(lái)運(yùn)行應(yīng)用。
容器是從鏡像創(chuàng)建的運(yùn)行實(shí)例。它可以被啟動(dòng)、開(kāi)始、停止、刪除。每個(gè)容器都是相互隔離的、保證安全的平臺(tái)。
可以把容器看做是一個(gè)簡(jiǎn)易版的 Linux 環(huán)境(包括root用戶(hù)權(quán)限、進(jìn)程空間、用戶(hù)空間和網(wǎng)絡(luò)空間等)和運(yùn)行在其中的應(yīng)用程序。
注:鏡像是只讀的,容器在啟動(dòng)的時(shí)候創(chuàng)建一層可寫(xiě)層作為最上層。
Docker 倉(cāng)庫(kù)
倉(cāng)庫(kù)是集中存放鏡像文件的場(chǎng)所。有時(shí)候會(huì)把倉(cāng)庫(kù)和倉(cāng)庫(kù)注冊(cè)服務(wù)器(Registry)混為一談,并不嚴(yán)格區(qū)分。實(shí)際上,倉(cāng)庫(kù)注冊(cè)服務(wù)器上往往存放著多個(gè)倉(cāng)庫(kù),每個(gè)倉(cāng)庫(kù)中又包含了多個(gè)鏡像,每個(gè)鏡像有不同的標(biāo)簽(tag)。
倉(cāng)庫(kù)分為公開(kāi)倉(cāng)庫(kù)(Public)和私有倉(cāng)庫(kù)(Private)兩種形式。
最大的公開(kāi)倉(cāng)庫(kù)是 Docker Hub,存放了數(shù)量龐大的鏡像供用戶(hù)下載。 國(guó)內(nèi)的公開(kāi)倉(cāng)庫(kù)包括 Docker Pool 等,可以提供大陸用戶(hù)更穩(wěn)定快速的訪問(wèn)。
當(dāng)然,用戶(hù)也可以在本地網(wǎng)絡(luò)內(nèi)創(chuàng)建一個(gè)私有倉(cāng)庫(kù)。
當(dāng)用戶(hù)創(chuàng)建了自己的鏡像之后就可以使用 push 命令將它上傳到公有或者私有倉(cāng)庫(kù),這樣下次在另外一臺(tái)機(jī)器上使用這個(gè)鏡像時(shí)候,只需要從倉(cāng)庫(kù)上 pull 下來(lái)就可以了。
注:Docker 倉(cāng)庫(kù)的概念跟 Git 類(lèi)似,注冊(cè)服務(wù)器可以理解為 GitHub 這樣的托管服務(wù)。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
關(guān)于Docker網(wǎng)絡(luò)配置及部署SpringCloud項(xiàng)目詳解
這篇文章主要介紹了關(guān)于Docker網(wǎng)絡(luò)配置及部署SpringCloud項(xiàng)目詳解,Docker在創(chuàng)建容器時(shí)有四種網(wǎng)絡(luò)模式,bridge為默認(rèn)不需要去指定,其他三種模式需要在創(chuàng)建容器時(shí)使用–net去指定,需要的朋友可以參考下2023-07-07如何解決docker鏡像在不同cpu架構(gòu)上運(yùn)行容器報(bào)錯(cuò)問(wèn)題
文章主要介紹了如何查看本地Docker鏡像的CPU架構(gòu)類(lèi)型,并提供了解決x86鏡像無(wú)法在ARM CPU上運(yùn)行的問(wèn)題的方法,通過(guò)在Dockerfile中使用`--platform`參數(shù)指定CPU架構(gòu),可以在構(gòu)建鏡像時(shí)選擇正確的版本,從而解決架構(gòu)不匹配的問(wèn)題2024-12-12docker創(chuàng)建mongodb數(shù)據(jù)庫(kù)容器的方法
本文將通過(guò)docker創(chuàng)建一個(gè)mongodb數(shù)據(jù)庫(kù)容器,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-03-03Docker沒(méi)有啟動(dòng)環(huán)境變量的問(wèn)題解決
在使用Docker容器時(shí),有時(shí)候我們會(huì)遇到一個(gè)問(wèn)題,就是在容器中沒(méi)有啟動(dòng)環(huán)境變量,本文主要介紹了Docker沒(méi)有啟動(dòng)環(huán)境變量的問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02Docker容器啟動(dòng)時(shí)初始化Mysql數(shù)據(jù)庫(kù)的方法
這篇文章給大家介紹Docker容器啟動(dòng)時(shí)初始化Mysql數(shù)據(jù)庫(kù)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2013-11-11Docker安裝ELK并實(shí)現(xiàn)JSON格式日志分析的方法
這篇文章主要介紹了Docker安裝ELK并實(shí)現(xiàn)JSON格式日志分析的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10