丰满女人又夹又紧又丰满/国产精品久久久久久久久福交 /黄色va视频/姜恩惠的29分钟激情视频

English 服務(wù)熱線: 400-610-7333

docker 虛擬化與 docker 的概念 2024-04-28 10:03  作者或來源:CSDN 博客

一、云計算的三種服務(wù)模式

laaspasssaas

1.1 IaaS: Infrastructure-as-a-Service(基礎(chǔ)設(shè)施即服務(wù))

  第一層叫做 IaaS,有時候也叫做 Hardware-as-a-Service,幾年前如果你想在辦公室或者公司的網(wǎng)站上運(yùn)行一些企業(yè)應(yīng)用,你需要去買服務(wù)器,或者別的高昂的硬件來控制本地應(yīng)用,讓你的業(yè)務(wù)運(yùn)行起來。
  但是現(xiàn)在有 IaaS,你可以將硬件外包到別的地方去。IaaS 公司會提供場外服務(wù)器,存儲和網(wǎng)絡(luò)硬件,你可以租用。節(jié)省了維護(hù)成本和辦公場地,公司可以在任何時候利用這些硬件來運(yùn)行其應(yīng)用。
  一些大的 IaaS 公司包括 Amazon, Microsoft, VMWare, Rackspace Red Hat. 不過這些公司又都有自己的專長,比如 Amazon 和微軟給你提供的不只是 IaaS,他們還會將其計算能力出租給你來 host 你的網(wǎng)站。

作用通過 IaaS 這種模式,用戶可以從供應(yīng)商那里獲得他所需要的虛擬機(jī)或者存儲等資源來裝載相關(guān)的應(yīng)用,同時這些基礎(chǔ)設(shè)施的繁瑣的管理工作將由 IaaS 供應(yīng)商來處理。IaaS 能通過它上面對虛擬機(jī)支持眾多的應(yīng)用。IaaS 主要的用戶是系統(tǒng)管理員。

主要產(chǎn)品包括:Amazon EC2LinodeJoyentRackspaceIBM Blue Cloud Cisco UCS 等。

IaaS 的七個基本功能:

資源抽象:使用資源抽象的方法 (比如,資源池) 能更好地調(diào)度和管理物理資源。

資源監(jiān)控:通過對資源的監(jiān)控,能夠保證基礎(chǔ)實施高效率的運(yùn)行。

負(fù)載管理:通過負(fù)載管理,不僅能使部署在基礎(chǔ)設(shè)施上的應(yīng)用運(yùn)能更好地應(yīng)對突發(fā)情況,而且還能更好地利用系統(tǒng)資源。

數(shù)據(jù)管理:對云計算而言,數(shù)據(jù)的完整性,可靠性和可管理性是對 IaaS 的基本要求。

資源部署:也就是將整個資源從創(chuàng)建到使用的流程自動化。

安全管理:IaaS 的安全管理的主要目標(biāo)是保證基礎(chǔ)設(shè)施和其提供的資源能被合法地訪問和使用。

計費(fèi)管理:通過細(xì)致的計費(fèi)管理能使用戶更靈活地使用資源。

1.2 PaaS: Platform-as-a-Service(平臺即服務(wù))

  第二層就是所謂的 PaaS,某些時候也叫做中間件。你公司所有的開發(fā)都可以在這一層進(jìn)行,節(jié)省了時間和資源。
  PaaS 公司在網(wǎng)上提供各種開發(fā)和分發(fā)應(yīng)用的解決方案,比如虛擬服務(wù)器和操作系統(tǒng)。這節(jié)省了你在硬件上的費(fèi)用,也讓分散的工作室之間的合作變得更加容易。網(wǎng)頁應(yīng)用管理,應(yīng)用設(shè)計,應(yīng)用虛擬主機(jī),存儲,安全以及應(yīng)用開發(fā)協(xié)作工具等。
  一些大的 PaaS 提供者有 Google App Engine,Microsoft AzureForce.com,HerokuEngine Yard。最近興起的公司有 AppFogMendix  Standing Cloud

        通過 PaaS 這種模式,用戶可以在一個包括 SDK,文檔和測試環(huán)境等在內(nèi)的開發(fā)平臺上非常方便地編寫應(yīng)用,而且不論是在部署,或者在運(yùn)行的時候,用戶都無需為服務(wù)器,操作系統(tǒng),網(wǎng)絡(luò)和存儲等資源的管理操心,這些繁瑣的工作都由 PaaS 供應(yīng)商負(fù)責(zé)處理,而且 PaaS 在整合率上面非常驚人,比如一臺運(yùn)行 Google App Engine 的服務(wù)器能夠支撐成千上萬的應(yīng)用,也就是說,PaaS 是非常經(jīng)濟(jì)的。PaaS 主要的用戶是開發(fā)人員。

主要產(chǎn)品包括:Google App Engineforce.comheroku Windows Azure Platform 等。

主要有四大功能:友好的開發(fā)環(huán)境:通過提供 SDK IDE 等工具來讓用戶能在本地方便地進(jìn)行應(yīng)用的開發(fā)和測試。

豐富的服務(wù):PaaS 平臺會以 API 的形式將各種各樣的服務(wù)提供給上層的應(yīng)用。

自動的資源調(diào)度:也就是可伸縮這個特性,它將不僅能優(yōu)化系統(tǒng)資源,而且能自動調(diào)整資源來幫助運(yùn)行于其上的應(yīng)用更好地應(yīng)對突發(fā)流量。

精細(xì)的管理和監(jiān)控:通過 PaaS 能夠提供應(yīng)用層的管理和監(jiān)控,比如,能夠觀察應(yīng)用運(yùn)行的情況和具體數(shù)值 (比如,吞吐量和反映時間) 來更好地衡量應(yīng)用的運(yùn)行狀態(tài),還有能夠通過精確計量應(yīng)用使用所消耗的資源來更好地計費(fèi)。

1.3 SaaS: Software-as-a-Service(軟件即服務(wù))

  第三層也就是所謂 SaaS。這一層是和你的生活每天接觸的一層,大多是通過網(wǎng)頁瀏覽器來接入。任何一個遠(yuǎn)程服務(wù)器上的應(yīng)用都可以通過網(wǎng)絡(luò)來運(yùn)行,就是 SaaS 了。
  你消費(fèi)的服務(wù)完全是從網(wǎng)頁如 Netflix, MOG, Google Apps, Box.net, Dropbox 或者蘋果的 iCloud 那里進(jìn)入這些分類。盡管這些網(wǎng)頁服務(wù)是用作商務(wù)和娛樂或者兩者都有,但這也算是云技術(shù)的一部分。
  一些用作商務(wù)的 SaaS 應(yīng)用包括 Citrix GoToMeetingCisco WebExSalesforce CRM

ADPWorkday SuccessFactors

        通過 SaaS 這種模式,用戶只要接上網(wǎng)絡(luò),并通過瀏覽器,就能直接使用在云端上運(yùn)行的應(yīng)用,而不需要顧慮類似安裝等瑣事,并且免去初期高昂的軟硬件投入。SaaS 主要面對的是普通的用戶。

        主要產(chǎn)品包括:Salesforce Sales CloudGoogle AppsZimbraZoho IBM Lotus Live 等。

        談到 SaaS 的功能,也可以認(rèn)為是要實現(xiàn) SaaS 服務(wù),供應(yīng)商需要完成那些功能? 主要有四個方面:

隨時隨地訪問:在任何時候或者任何地點,只要接上網(wǎng)絡(luò),用戶就能訪問這個 SaaS 服務(wù)。

支持公開協(xié)議:通過支持公開協(xié)議 (比如 HTML4/5),能夠方便用戶使用。

安全保障SaaS 供應(yīng)商需要提供一定的安全機(jī)制,不僅要使存儲在云端的用戶數(shù)據(jù)處于絕對安全的境地,而且也要在客戶端實施一定的安全機(jī)制 (比如 HTTPS) 來保護(hù)用戶。

多住戶 (Multi-Tenant) 機(jī)制:通過多住戶機(jī)制,不僅能更經(jīng)濟(jì)地支撐龐大的用戶規(guī)模,而且能提供一定的可定制性以滿足用戶的特殊需求。

1.4 Iaas Paas 之間的比較

    PaaS 的主要作用是將一個開發(fā)和運(yùn)行平臺作為服務(wù)提供給用戶,而 IaaS 的主要作用是提供虛擬機(jī)或者其他資源作為服務(wù)提供給用戶。接下來,將在七個方面對 PaaS IaaS 進(jìn)行比較:

    1) 開發(fā)環(huán)境:PaaS 基本都會給開發(fā)者提供一整套包括 IDE 在內(nèi)的開發(fā)和測試環(huán)境,而 IaaS 方面用戶主要還是沿用之前比較熟悉那套開發(fā)環(huán)境,但是因為之前那套開發(fā)環(huán)境在和云的整合方面比較欠缺,所以使用起來不是很方便。
    2)
支持的應(yīng)用:因為 IaaS 主要是提供虛擬機(jī),而且普通的虛擬機(jī)能支持多種操作系統(tǒng),所以 IaaS 支持的應(yīng)用的范圍是非常廣泛的。但如果要讓一個應(yīng)用能跑在某個 PaaS 平臺不是一件輕松的事,因為不僅需要確保這個應(yīng)用是基于這個平臺所支持的語言,而且也要確保這個應(yīng)用只能調(diào)用這個平臺所支持的 API,如果這個應(yīng)用調(diào)用了平臺所不支持的 API,那么就需要對這個應(yīng)用進(jìn)行修改。
 3) 開放標(biāo)準(zhǔn):雖然很多 IaaS 平臺都存在一定的私有功能,但是由于 OVF 等協(xié)議的存在,使得 IaaS 在跨平臺和避免被供應(yīng)商鎖定這兩面是穩(wěn)步前進(jìn)的。而 PaaS 平臺的情況則不容樂觀,因為不論是 Google App Engine,還是 Salesforce Force.com 都存在一定的私有 API
    4)
可伸縮性:PaaS 平臺會自動調(diào)整資源來幫助運(yùn)行于其上的應(yīng)用更好地應(yīng)對突發(fā)流量。而 IaaS 平臺則需要開發(fā)人員手動對資源進(jìn)行調(diào)整才能應(yīng)對。
    5)
整合率和經(jīng)濟(jì)性: PaaS 平臺整合率是非常高,比如 PaaS 的代表 Google App Engine 能在一臺服務(wù)器上承載成千上萬的應(yīng)用,而普通的 IaaS 平臺的整合率最多也不會超過 100,而且普遍在 10 左右,使得 IaaS 的經(jīng)濟(jì)性不如 PaaS
    6)
計費(fèi)和監(jiān)管:因為 PaaS 平臺在計費(fèi)和監(jiān)管這兩方面不僅達(dá)到了 IaaS 平臺所能企及的操作系統(tǒng)層面,比如,CPU 和內(nèi)存的使用量等,而且還能做到應(yīng)用層面,比如,應(yīng)用的反應(yīng)時間(Response Time)或者應(yīng)用所消耗的事務(wù)多少等,這將提高計費(fèi)和管理的精確性。
    7)
學(xué)習(xí)難度:因為在 IaaS 上面開發(fā)和管理應(yīng)用和現(xiàn)有的方式比較接近,而 PaaS 上面開發(fā)則有可能需要學(xué)一門新的語言或者新的框架,所以 IaaS 學(xué)習(xí)難度更低。

PaaS

IaaS

開發(fā)環(huán)境

完善

普通

支持的應(yīng)用

有限

通用性

欠缺

稍好

可伸縮性

自動伸縮

手動伸縮

整合率和經(jīng)濟(jì)性

高整合率,更經(jīng)濟(jì)

低整合率

計費(fèi)和監(jiān)管

精細(xì)

簡單

學(xué)習(xí)難度

略難

未來的 PK

        在當(dāng)今云計算環(huán)境當(dāng)中,IaaS 是非常主流的,無論是 Amazon EC2 還是 Linode 或者 Joyent 等,都占有一席之地,但是隨著 Google App EngineSalesforce Force.com 還是微軟的 Windows Azure PaaS 平臺的推出,使得 PaaS 也開始嶄露頭角。談到這兩者的未來,特別是這兩者之間的競爭關(guān)系,我個人認(rèn)為,短期而言,因為 IaaS 模式在支持的應(yīng)用和學(xué)習(xí)難度這兩方面的優(yōu)勢,使得 IaaS 將會在短期之內(nèi)會成為開發(fā)者的首選,但是從長期而言,因為 PaaS 模式的高整合率所帶來經(jīng)濟(jì)型使得如果 PaaS 能解決諸如通用性和支持的應(yīng)用等方面的挑戰(zhàn),它將會替代 IaaS 成為開發(fā)者的新寵

        它們之間的關(guān)系主要可以從兩個角度進(jìn)行分析:其一是用戶體驗角度,從這個角度而言,它們之間關(guān)系是獨(dú)立的,因為它們面對不同類型的用戶。其二是技術(shù)角度,從這個角度而言,它們并不是簡單的繼承關(guān)系 (Saa.....

1.5 三種服務(wù)模式

        根據(jù)現(xiàn)在最常用,也是比較權(quán)威的 NIST(National Institute of Standards and Technology,美國國家標(biāo)準(zhǔn)技術(shù)研究院) 定義,云計算主要分為三種服務(wù)模式,而且這個三層的分法重要是從用戶體驗的角度出發(fā)的:

        Software as a Service,軟件即服務(wù),簡稱 SaaS,這層的作用是將應(yīng)用作為服務(wù)提供給客戶。

        Platform as a Service,平臺即服務(wù),簡稱 PaaS,這層的作用是將一個開發(fā)平臺作為服務(wù)提供給用戶。

        Infrastructure as a Service, 基礎(chǔ)設(shè)施即服務(wù),簡稱 IaaS,這層的作用是提供虛擬機(jī)或者其他資源作為服務(wù)提供給用戶。

 

三種模式之間的關(guān)系

它們之間的關(guān)系主要可以從兩個角度進(jìn)行分析:其一是用戶體驗角度,從這個角度而言,它們之間關(guān)系是獨(dú)立的,因為它們面對不同類型的用戶。其二是技術(shù)角度,從這個角度而言,它們并不是簡單的繼承關(guān)系 (SaaS 基于 PaaS,而 PaaS 基于 IaaS),因為首先 SaaS 可以是基于 PaaS 或者直接部署于 IaaS 之上,其次 PaaS 可以構(gòu)建于 IaaS 之上,也可以直接構(gòu)建在物理資源之上。

二、虛擬化概述

2.1 虛擬化是什么?

虛擬化:將應(yīng)用程序和系統(tǒng)內(nèi)核資源進(jìn)行解耦,以操作系統(tǒng)級別進(jìn)行隔離,目的是提高資源利用率

虛擬化,是指通過虛擬化技術(shù)將一臺計算機(jī)虛擬為多臺邏輯計算機(jī)。在一臺計算機(jī)上同時運(yùn)行多個邏輯計算機(jī),每個邏輯計算機(jī)可運(yùn)行不同的操作系統(tǒng),并且應(yīng)用程序都可以在相互獨(dú)立的空間內(nèi)運(yùn)行而互不影響,從而顯著提高計算機(jī)的工作效率。

虛擬化使用軟件的方法重新定義劃分 IT 資源,可以實現(xiàn) IT 資源的動態(tài)分配、靈活調(diào)度、跨域共享,提高 IT 資源利用率,使 IT 資源能夠真正成為社會基礎(chǔ)設(shè)施,服務(wù)于各行各業(yè)中靈活多變的應(yīng)用需求。

2.2 虛擬化兩大組件

虛擬機(jī)管理器功能:調(diào)用資源

兩大核心組件:QEMUKVM

QEMU

可以理解為隊列,核心目的是 ** 調(diào)用資源內(nèi)核中的資源 **,需要把 KVM 邏輯分割出來的資源運(yùn)輸給 QEMU,再給虛擬機(jī)。

②QEMU 它并不是直接調(diào)用,而是用 I/O 方式調(diào)用,QEMU 把資源調(diào)用來的過程借用 ioctlQEMU 借助 libvirt 這個工具調(diào)用 ioctl,再通過接口,給虛擬機(jī)應(yīng)用程序。

KVM

用來邏輯分割物理資源,抽象化為虛擬化資源,根據(jù) VMM 里的配置,會邏輯分割出多少 G,給應(yīng)用程序,去進(jìn)行虛擬化。

只接受來自 QEMU 的請求指令。對于應(yīng)用程序直接過來的敏感指令會攔截,然后通過接口發(fā)給 QEMU,讓 QEMU 判斷是否需要執(zhí)行,可以的話,再下來,不可以的話,打回去,不執(zhí)行該敏感指令。

對于 workstation 而言,硬件輔助虛擬化,表現(xiàn)形式在處理器里面有一個虛擬化引擎,可以勾取硬件輔助虛擬化,看到虛擬接口 / dev/kvm,可以加強(qiáng)輔助調(diào)用,在應(yīng)用程序需要頻繁調(diào)用的時候,需要開啟。比如 openstack

2.3 虛擬化類型

1.  全虛擬化:將物理硬件資源全部通過軟件的方式抽象化,最后進(jìn)行調(diào)用

2.  半虛擬化:需要修改操作系統(tǒng)

3.  直通: 直接使用物理硬件資源(需要支持,還不完善)

全虛擬化: kvm——> 產(chǎn)品 vmware—ce(社區(qū)版)

半虛擬化:EXSI——>workstation vsphere

2.4 虛擬化功能

在一個操作系統(tǒng)內(nèi),模擬多個操作系統(tǒng)

以軟件的方式模擬物理設(shè)備的功能

三、容器的概念

3.1 容器是什么?

容器是一種技術(shù),開發(fā)人員打包開發(fā)完成一個應(yīng)用(系統(tǒng))以及所需的開發(fā)環(huán)境,然后通過容器可以運(yùn)行在不同的計算機(jī)上面,也不需要重新配置相關(guān)環(huán)境,不同的是每一臺計算機(jī)都需要配置運(yùn)行容器的容器引擎,目前市場上主流就是 Docker 容器引擎,不過 Docker 容器引擎的配置很簡單,比配置應(yīng)用(系統(tǒng))運(yùn)行的環(huán)境簡單,方便太多。每臺要運(yùn)行應(yīng)用(系統(tǒng))的計算機(jī)上面配置了 Docker 容器引擎之后,都單獨(dú)獨(dú)立可以運(yùn)行之前打包完成的應(yīng)用(系統(tǒng))

3.2 容器的優(yōu)點

·         靈活:即使是最復(fù)雜的應(yīng)用也可以集裝箱化

·         輕量級:容器利用并共享主機(jī)內(nèi)核

·         可互換:可以即時部署更新和升級

·         便攜式:可以在本地構(gòu)建,部署到云,并在任何地方運(yùn)行

·         可擴(kuò)展:可以增加并自動分發(fā)容器副本

·         可堆疊:可以垂直和即時堆疊服務(wù)

3.3 容器的缺點

        復(fù)雜性增加:隨著容器及應(yīng)用數(shù)量的增加,同時也伴隨著復(fù)雜性的增加。在生產(chǎn)環(huán)境中管理如此之多的容器是一個極具挑戰(zhàn)性的任務(wù),可以使用 Kubernetes Mesos 等工具管理具有一定規(guī)模數(shù)量的容器。
        
原生 Linux 支持:大多數(shù)容器技術(shù),比如 Docker,基于 Linux 容器(LXC),相比于在原生 Linux 中運(yùn)行容器,在 Microsoft 環(huán)境中運(yùn)行容器略顯笨拙,并且日常使用也會帶來復(fù)雜性。
不成熟:容器技術(shù)在市場上是相對新的技術(shù),需要時間來適應(yīng)市場。開發(fā)者中的可用資源是有限的,如果某個開發(fā)者陷入某個問題,可能需要花些時間才能解決問題。

四、docker 概述

        Docker 的容器技術(shù)可以在一臺下機(jī)上輕松為任何應(yīng)用創(chuàng)建一個輕量級的、可移植的、目給自足的容器。
        Docker
Logo 設(shè)計為藍(lán)色鯨魚,拖著許多集裝箱。
鯨魚可看作為宿主機(jī),集裝箱可理解為相互隔離的容器,每個集裝箱中都包含自己的應(yīng)用程序。
        Docker
的設(shè)計宗旨:BuildShip and Run Any AppAnywhere,即通過對應(yīng)用組件的封裝、發(fā)布、部署、運(yùn)行等生命周期的管理,達(dá)到應(yīng)用組件級別的一次封裝,到處運(yùn)行的目的。這里的組件,既可以是一個應(yīng)用,也可以是一套服務(wù),甚至是一個完整的操作系統(tǒng)。

4.1 docker 是什么

·         是一個開源的應(yīng)用容器引擎,基于 go 語言開發(fā)并遵循了 apache2.0 協(xié)議開源

·         是在 Linux 容器里運(yùn)行應(yīng)用的開源工具

·         是一種輕量級的虛擬機(jī) "

·         Docker 的容器技術(shù)可以在一臺主機(jī)上輕松為任何應(yīng)用創(chuàng)建一個輕量 級的、可移植的、自給自足的容器。

4.2 docker 容器與虛擬機(jī)的區(qū)別

·         Docker 容器

        是在 Linux 上本機(jī)運(yùn)行,并與其他容器共享主機(jī)的內(nèi)核,它運(yùn)行的是一個獨(dú)立的進(jìn)程,不占用其他任何可執(zhí)行文件的內(nèi)存,非常輕量

·         虛擬機(jī)

        運(yùn)行的是一個完成的操作系統(tǒng),通過虛擬機(jī)管理程序?qū)χ鳈C(jī)資源進(jìn)行虛擬訪問,相比之下需要的資源更多

4.3  容器在內(nèi)核中支持兩種重要的技術(shù)

        docker 本質(zhì)就是宿主機(jī)的一個進(jìn)程,docker 是通過 namespace 實現(xiàn)資源隔離,通過 cgroup 實現(xiàn)資源限制,通過寫時復(fù)制技術(shù)(copy-on-write)實現(xiàn)了高效的文件操作(類似虛擬機(jī)的磁盤比如分配 500g 并不是實際占用物理磁盤 500g

4.3.1 namespace(命名空間)的六項隔離

命名空間

系統(tǒng)調(diào)用參數(shù)

隔離內(nèi)容

UTS

CLONE_NEWUTS

主機(jī)名與域名

IPC

CLONE_NEWWIPC

信號量、消息隊列和共享內(nèi)存

PID

CLONE_NEWPID

進(jìn)程編號

NETWORK

CLONE_NEWNET

網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)棧、端口等

MOUNT

CLONE_NEWNS

掛載點(文件系統(tǒng))

UDER

CLONE_NEWUSER

用戶和組(3.8 以后的內(nèi)核才支持)

4.3.2 控制組(Control groups

        Linux 上的 Do 側(cè)看人引擎還依賴于另一種稱為控制組(Cgroups)的技術(shù),Cgroup 將應(yīng)用和程序限制為一組特定的資源,控制組允許 Docker Engine 將可用的硬件資源共享給容器,并有選擇地實施限制和約束。Cgroups 主要是用作資源控制——可以用來劃分時間片

六種名稱空間是由 cgroups 管理的
        
最后一種 centos cgroups 管理版本是 3.8 版本,3.6 3.5 用不了
        cgroups
管理 linux 內(nèi)核態(tài)中資源管理的模塊
        cgroups
管理一些系統(tǒng)資源
        
不是 docker 原生的

4.4Docker 核心概念

4.4.1 鏡像

        Docker 的鏡像是創(chuàng)建容器的基礎(chǔ),類似虛擬機(jī)的快照,可以理解為一個面向 Docker 容器引擎的只讀模板。
        
通過鏡像啟動一個容器,一個鏡像是一個可執(zhí)行的包,其中包括運(yùn)行應(yīng)用程序所需要的所有內(nèi)容包含代碼,運(yùn)行時間,庫、環(huán)境變量、和配置文件。

4.4.2 容器

        Docker 的容器是從鏡像創(chuàng)建的運(yùn)行實例,它可以被啟動、停止和刪除。所創(chuàng)建的每一個容器都是相互隔離、互不可見,以保證平臺的安全性。
        
可以把容器看做是要給簡易版的 linux 環(huán)境(包括 root 用戶權(quán)限、鏡像空間、用戶空間和網(wǎng)絡(luò)空間等)和運(yùn)行在其中的應(yīng)用程序。

4.4.3 倉庫

        Docker 倉庫是用來集中保存鏡像的地方,當(dāng)創(chuàng)建了自己的鏡像之后,可以使用 push 命令將它上傳到公有倉庫(Public)或者私有倉庫(Private)。當(dāng)下次要在另外一臺機(jī)器上使用這個鏡像時,只需從倉庫獲取。

        Docker 的鏡像、容器、日志等內(nèi)容全部都默認(rèn)存儲在 /var/lib/docker 目錄下。

五、yum 安裝 docker

目前 Docker 只能支持 64 位系統(tǒng)

Yum 安裝默認(rèn)安裝最新版本,目前最新版本是 2023 版本,但工作中不會用這么新的版本

4.1 yum 安裝 docker 依賴包

1. #關(guān)閉防火墻和 selinux
systemctl stop firewalld.service
setenforce 0
 
2.#
安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
 
-------------------------------------------------------------------------------------------
yum-utils
:提供了 yum-config-manager 工具。
device mapper
: 是 Linux 內(nèi)核中支持邏輯卷管理的通用設(shè)備映射機(jī)制,它為實現(xiàn)用于存儲資源管理的塊設(shè)備驅(qū)動提供了一個高度模塊化的內(nèi)核架構(gòu)。
device mapper
存儲驅(qū)動程序需要 device-mapper-persistent-data lvm2
-------------------------------------------------------------------------------------------

4.2 設(shè)置阿里云鏡像源

1. #設(shè)置阿里云鏡像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 

2. #
安裝 Docker
yum install -y docker-ce docker-ce-cli containerd.io
 

3. #
設(shè)置為開機(jī)自動啟動
systemctl start docker.service
systemctl enable docker.service

4.3 查看 Docker 版本信息

1. #查看 docker 版本信息
docker version 
 
2. #
查看 docker 信息
docker info

3. #搜索鏡像
格式:docker search 關(guān)鍵字
docker search nginx

五、配置阿里云鏡像加速器

5.1. 瀏覽器訪問 

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 
獲取鏡像加速器配置

5.2 配置鏡像加速器、重新加載配置并重啟服務(wù)

vim /etc/docker/daemon.json
添加自己的加速器地址,如下圖

#重新加載配置并重啟服務(wù)
systemctl daemon-reload     
systemctl restart docker

5.3 驗證查看

docker info

5.4 鏡像存放

#查看鏡像信息
鏡像下載后存放在 /var/lib/docker
Docker
相關(guān)的本地資源存放在 /var/lib/docker/ 目錄下,其中 containers 目錄存放容器信息,image 目錄存放鏡像信息,overlay2 目錄下存放具體的鏡像底層文件。

#查看下載的鏡像文件信息
cat /var/lib/docker/image/overlay2/repositories.json

#查看下載到本地的所有鏡像
docker images

REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
nginx        latest    ae2feff98a0c   9 days ago   133MB
 

六、知識總結(jié)補(bǔ)充

6.1 Docker 容器有哪些狀態(tài)?

·         運(yùn)行

·         已暫停

·         重新啟動

·         已退出

6.2 什么是 DockerDocker 原理?

        docker 是一種封裝和運(yùn)行的開源平臺,他統(tǒng)一了封裝方式,統(tǒng)一了運(yùn)行方式,開源平臺指的是 docker 引擎,統(tǒng)一的封裝方式指的是鏡像,統(tǒng)一的運(yùn)行方式指的是容器。
        cgroup
資源控制與 namespaces 兩者構(gòu)成了 docker 底層原理
        docker
是一種容器技術(shù),** linux 中的 cgroups(資源管理)和 namespace(名稱空間)等 ** 容器底層技術(shù)進(jìn)行完美封裝,并抽象為用戶創(chuàng)建和管理容器的便捷界面(命令行 cliapi 等),這種 C/S 架構(gòu)

6.3 簡述 Docker 主要使用的技術(shù)?

·         Cgroups: 資源控制,管理一些系統(tǒng)資源

·         Namespace:資源隔離(名稱空間)

·         rootfs:文件系統(tǒng)隔離(使用內(nèi)核提供的 rootfs

·         容器引擎(用戶態(tài)工具) : 生命周期控制

6.4 簡述 Docker 體系架構(gòu)?

Docker 客戶端 - Docker

docker 客戶端則扮演著 docker 服務(wù)端的遠(yuǎn)程控制器,可以用來控制 docker 的服務(wù)端進(jìn)程。

Docker 服務(wù)端 - Docker Daemon 資源限制

docker 服務(wù)端是一個服務(wù)進(jìn)程,管理著所有的容器。

Docker 鏡像一 Imagefont

Docker 的鏡像是創(chuàng)建容器的基礎(chǔ),類似虛擬機(jī)的快照,可以理解為一個面向 Docker 容器引擎的只讀模板。通過鏡像啟動一個容器,一個鏡像是一個可執(zhí)行的包, 其中包括運(yùn)行應(yīng)用程序所需要的所有內(nèi)容包含代碼。運(yùn)行時間,庫,環(huán)境變量,和配置文件

Docker 容器 - Docker Container

Docker 的容器是從鏡像創(chuàng)建的運(yùn)行實例,它可以被啟動、停止和刪除。所創(chuàng)建的每一個容器都是相互隔離、互不可見,以保證平臺的安全性。

Docker 鏡像倉庫 -- Registryfont

Docker 倉庫是用來集中保存鏡像的地方, 當(dāng)創(chuàng)建了自己的鏡像之后,可以使用 push 命令將它上傳到公有倉庫 (Public) 或者私有倉庫(Private、常用)。當(dāng)下次要在另外一臺機(jī)器上使用這個鏡像時,只需從倉庫獲取。

Docker 的鏡像、容器、日志等內(nèi)容全部都默認(rèn)存儲在 **/var/lib/docker** 目錄下。

6.5 Docker 有哪些優(yōu)勢?和虛擬化比有什么優(yōu)勢?

        docker 把容器化技術(shù)做成了標(biāo)準(zhǔn)化平臺,只要安裝了 docker 引擎,就能使用 docker
        
使用 docker 有什么意義 (實現(xiàn)了 3 個統(tǒng)一)

docker 引擎統(tǒng)一了基礎(chǔ)設(shè)施環(huán)境 - docker 環(huán)境——>image——> 封裝一一個簡易的操作系統(tǒng) (3.0+G)
docker
引擎統(tǒng)一了 程序打包 (裝箱 / 封裝 - 類比于集裝箱) 方式 - docker 鏡像——>images
docker
引擎統(tǒng)了程序部署 (運(yùn)行) 方式 - docker 容器——>基于鏡像——>運(yùn)行為容器(可運(yùn)行的環(huán)境)

實現(xiàn)了一次構(gòu)建,多次、多處使用

6.6 Docker 在后臺的標(biāo)準(zhǔn)運(yùn)行過程?

        檢查本地是否存在指定的鏡像。當(dāng)鏡像不存在時,會從公有倉庫下載;
        
利用鏡像創(chuàng)建并啟動一個容器;
        
分配一個文件系統(tǒng)給容器,在只讀的鏡像層外面掛載一層可讀寫層;
        
從宿主主機(jī)配置的網(wǎng)橋接口中橋接一個虛擬機(jī)接口到容器中;
        
分配一個地址池中的 IP 地址給容器;
        
執(zhí)行用戶指定的應(yīng)用程序,執(zhí)行完畢后容器被終止運(yùn)行。

6.7 集群里面有一個 Docker,其使用率達(dá)到 80% 怎么辦?

        把這個 docker 干掉,它的資源可能會釋放,然后重新再建一個,因為集對于集群來說它會有高可用的設(shè)置,所以干掉一個影響并不大

 

 

 

 

服務(wù)熱線:400-610-7333 | 郵箱:service@gpos.cn | 電話:8610-82564561/71 | 傳真:8610-82564561-8025 | 京ICP備18017976號 | 京公網(wǎng)安備 11010802036102號 Copyright ? 2005-2025 Beijing Golden Point Outsourcing Service Co., Ltd. All Rights Reserved. | 北京金支點技術(shù)服務(wù)有限公司保留所有權(quán)利。