最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Docker(1)- 什么是 Docker

2020-11-04 10:11 作者:微軟MVP-Eleven  | 我要投稿

1|0學(xué)習(xí) Docker 前的必備知識(shí)


1|1環(huán)境配置的煩惱


  • 軟件開發(fā)最大的麻煩事之一,就是環(huán)境配置

  • 相信每位編程初學(xué)者都會(huì)在環(huán)境配置上倒騰很久,而作為老師也會(huì)因?yàn)椴煌瑱C(jī)器出現(xiàn)五花八門的環(huán)境配置問題而煩惱

  • 想要軟件正常運(yùn)行,那么系統(tǒng)的設(shè)置和各種庫(kù)、組件正確的安裝才能如期運(yùn)行

  • 舉例來說,安裝一個(gè) Python 應(yīng)用,計(jì)算機(jī)必須有 Python 引擎,還必須有各種依賴,可能還要配置環(huán)境變量

  • 當(dāng)你需要換機(jī)器的時(shí)候,你之前所配置的環(huán)境又要重頭來一遍,非常麻煩


1|2很久以前的應(yīng)用部署方式


介紹

在一個(gè)物理服務(wù)器上面安裝系統(tǒng),直接部署應(yīng)用

缺點(diǎn)

  • 部署非常慢

  • 成本非常高

  • 資源浪費(fèi):部署的應(yīng)用并不會(huì)占滿服務(wù)器資源,會(huì)有大部分的空閑資源

  • 難于遷移和擴(kuò)展:像上面說到的,換臺(tái)服務(wù)器,環(huán)境又要重新配

  • 可能會(huì)被限定硬件廠商:底層系統(tǒng)架構(gòu)不同


1|3虛擬化技術(shù)出現(xiàn)后的應(yīng)用部署方式


虛擬化介紹


  • 一個(gè)主機(jī)部署多個(gè)虛擬機(jī),每個(gè)虛擬機(jī)可以部署多個(gè)應(yīng)用

  • 比如在 Windows 系統(tǒng)里面運(yùn)行 Linux 系統(tǒng)的 VM

  • 對(duì)于底層系統(tǒng)(主機(jī))來說,虛擬機(jī)就是一個(gè)普通文件,不需要就刪掉,對(duì)主機(jī)沒有影響

虛擬化優(yōu)點(diǎn)

  • 資源池:一個(gè)物理機(jī)的資源分配到了不同的虛擬機(jī)

  • 易擴(kuò)展:添加物理主機(jī)或虛擬機(jī)

  • 易云化:阿里云、AWS 提供虛擬化技術(shù)

虛擬化局限性

  • 資源占用多:每一個(gè)虛擬機(jī)都是一個(gè)完整的操作系統(tǒng),要給其分配資源,當(dāng)虛擬機(jī)數(shù)量增多時(shí),物理主機(jī)本身消耗的資源勢(shì)必增多

  • 冗余步驟多:虛擬機(jī)是完整的操作系統(tǒng),一些系統(tǒng)級(jí)別的操作步驟,往往無(wú)法跳過,比如用戶登錄

  • 啟動(dòng)慢:?jiǎn)?dòng)操作系統(tǒng)需要多久,啟動(dòng)虛擬機(jī)就需要多久。可能要等幾分鐘,應(yīng)用程序才能真正運(yùn)行

2|0容器的基礎(chǔ)知識(shí)


2|1容器為什么會(huì)出現(xiàn)


  • 上面也講述了單機(jī)部署應(yīng)用和虛擬機(jī)技術(shù)的局限性

  • 容器的誕生就是為了解決這些局限性的


2|2什么是容器


  • 對(duì)應(yīng)用軟件和其依賴的包進(jìn)行標(biāo)準(zhǔn)化打包

  • 應(yīng)用之間相互隔離

  • 共享同一個(gè) OSKernel

  • 可以運(yùn)行在很多主流操作系統(tǒng)上

  • 可以理解成:標(biāo)準(zhǔn)化軟件單元


2|3容器解決了什么問題 


  • 解決了開發(fā)和運(yùn)維之間的矛盾

  • 在開發(fā)和運(yùn)維之間搭建了一個(gè)橋梁,是實(shí)現(xiàn) devops 的最佳解決方案

2|4容器和虛擬機(jī)的區(qū)別


容器和虛擬機(jī)都具有相似的資源隔離和分配特點(diǎn),但是功能不同,因?yàn)槿萜魈摂M化了操作系統(tǒng),而不是硬件,所以更加便攜和高效


2|5虛擬化 + 容器

  • 其實(shí)就是 一臺(tái)物理機(jī)上部署多個(gè) VM,每個(gè) VM 上又可以有多個(gè)容器

  • 容器和 VM 一起結(jié)合使用,在部署和管理應(yīng)用程序時(shí)提供了很大的靈活性

3|0Docker 的詳細(xì)介紹


3|1Docker 簡(jiǎn)介

  • Docker 是一個(gè)開源的應(yīng)用容器引擎,基于?Go?語(yǔ)言

  • 可以打包應(yīng)用以及依賴包到一 個(gè)輕量級(jí)、可移植的容器中

  • Docker 打包好了的容器,可以發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化

  • 容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口(獨(dú)立)

  • 容器性能開銷極低

  • Docker 使用客戶端-服務(wù)器?(C/S)?架構(gòu)模式,使用遠(yuǎn)程 API?來管理和創(chuàng)建 Docker 容器

  • Docker 是實(shí)現(xiàn)容器技術(shù)的一種工具

  • Docker 容器還可以進(jìn)行版本管理、復(fù)制、分享、修改,就像管理普通的代碼一樣

?


工作中的應(yīng)用場(chǎng)景


  • Web 應(yīng)用的自動(dòng)化打包和發(fā)布

  • 自動(dòng)化測(cè)試和持續(xù)集成、發(fā)布(我們的重點(diǎn))

  • 組建微服務(wù)架構(gòu),通過多個(gè)容器,一臺(tái)機(jī)器可以跑多個(gè)服務(wù),因此在本機(jī)可以模擬出微服務(wù)架構(gòu)


3|2將軟件打包到容器中,以進(jìn)行開發(fā),運(yùn)輸和部署


  • 容器是打包代碼及其所有依賴項(xiàng)的軟件的標(biāo)準(zhǔn)單元,所以該軟件可以從一個(gè)計(jì)算機(jī)環(huán)境快速可靠地在另一個(gè)計(jì)算機(jī)環(huán)境進(jìn)行運(yùn)行

  • Docker 容器鏡像是一個(gè)輕量級(jí)、獨(dú)立的、可執(zhí)行的軟件包,它包含運(yùn)行應(yīng)用程序所需的一切:運(yùn)行環(huán)境、系統(tǒng)工具、系統(tǒng)庫(kù)、配置?

  • 容器鏡像在運(yùn)行時(shí)成為容器

  • 容器化軟件都可用于基于 Linux 和 Windows 的應(yīng)用程序,始終運(yùn)行相同

  • 容器將軟件與其環(huán)境隔離開來,即使存在差異,但軟件仍然可以運(yùn)行


3|3在 Docker 鏡像上運(yùn)行的 Docker 容器的優(yōu)勢(shì)


  • 標(biāo)準(zhǔn):Docker 創(chuàng)建了容器的行業(yè)標(biāo)準(zhǔn),因此它們可以在任何地方移植

  • 輕巧:容器共享機(jī)器的操作系統(tǒng)內(nèi)核,因此不需要每個(gè)應(yīng)用程序都用操作系統(tǒng),從而提高了服務(wù)器效率,并降低了服務(wù)器資源的消耗

  • 安全:容器中的應(yīng)用程序更安全,Docker 提供業(yè)界最強(qiáng)大的默認(rèn)隔離功能


3|4Docker 架構(gòu)


架構(gòu)圖箭頭的意思大概是

  • 在 Docker Client 敲 Docker 命令調(diào)用 Docker API 來操作 Host 上的 Docker 服務(wù)

  • Docker 服務(wù)可以從倉(cāng)庫(kù)拉鏡像到本機(jī),也可以用本機(jī)鏡像創(chuàng)建一個(gè)容器并運(yùn)行


倉(cāng)庫(kù)(Registry)

  • 集中存放鏡像文件的場(chǎng)所

  • 每個(gè)鏡像文件有不同的標(biāo)簽(不同的版本)

  • 最大的開放倉(cāng)庫(kù)是Docker Hub:?https://hub.docker.com/?存放了數(shù)量龐大的鏡像供用戶下載

  • 國(guó)內(nèi)的公開倉(cāng)庫(kù)包括阿里云,網(wǎng)易云等

  • 倉(cāng)庫(kù)分為公開倉(cāng)庫(kù)(public)和私有倉(cāng)庫(kù)(private)兩種形式

?


鏡像(Images)

  • 創(chuàng)建容器的模板

  • 一個(gè)鏡像可以創(chuàng)建很多容器

?


容器(Containers)

  • 容器是鏡像生成的運(yùn)行實(shí)例

  • Docker 利用容器獨(dú)立運(yùn)行一個(gè)或一組應(yīng)用(服務(wù))

  • 每個(gè)容器之間是相互隔離的

  • 它可以被啟用、開始、停止、刪除

?


主機(jī)(HOST)

  • 一個(gè)物理機(jī)或虛擬機(jī)

  • 用于運(yùn)行 Docker 守護(hù)進(jìn)程和多個(gè)容器

  • 可存放多個(gè)鏡像

  • 也稱為宿主機(jī),node節(jié)點(diǎn)

?


Docker 守護(hù)程序(daemon)

  • 監(jiān)聽 Docker API 請(qǐng)求

  • 也會(huì)管理 Docker 對(duì)象,如:鏡像、容器、網(wǎng)絡(luò)、卷

  • 守護(hù)程序還可以與其他守護(hù)程序通信以管理 Docker 服務(wù)

?


Docker 客戶端(client)

  • 客戶端使用 Docker 命令或其他工具調(diào)用 Docker API

  • 當(dāng)然也可以在 HOST 直接敲 Docker 命令

  • 客戶端可以與多個(gè) Docker 守護(hù)程序通信

?


官方介紹文檔:https://docs.docker.com/get-started/overview/

本文轉(zhuǎn)載自:https://www.cnblogs.com/poloyy/p/13898977.html


Docker(1)- 什么是 Docker的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
将乐县| 沅陵县| 湘阴县| 博罗县| 合江县| 凉城县| 三门峡市| 荆门市| 台州市| 娱乐| 成安县| 克东县| 镇巴县| 襄城县| 霸州市| 和硕县| 上思县| 柳林县| 荔波县| 建昌县| 长顺县| 乌拉特前旗| 宁明县| 霸州市| 屯留县| 百色市| 韩城市| 郎溪县| 县级市| 吉安市| 区。| 上高县| 东台市| 巴东县| 手游| 南通市| 永德县| 福海县| 辽宁省| 通城县| 水城县|