自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Docker真的萬(wàn)能嗎?看這一篇就夠了

開(kāi)發(fā) 前端
Docker并不是容器,而是創(chuàng)建容器的工具,是應(yīng)用容器引擎。其實(shí)看它的兩句口號(hào)就可以很容易的理解它。

 

Docker并不是容器,而是創(chuàng)建容器的工具,是應(yīng)用容器引擎。其實(shí)看它的兩句口號(hào)就可以很容易的理解它。第一句是“Build, Ship and Run”翻譯過(guò)來(lái)便是“搭建、發(fā)送、運(yùn)行”;第二句是“Build once,Run anywher”也就是只要搭建一次,到處都能用。比如你想在一片空地上蓋房子,但你需要很多步驟才能將這個(gè)房子蓋好,可是住了一段時(shí)間后你卻想搬家了,只能重新蓋房子。

Docker就像一個(gè)魔法,可以把你原本蓋好的房子復(fù)制了放進(jìn)背包里然后粘貼到另一個(gè)空地,其實(shí)就是“鏡像”。Docker的三大核心概念分別是鏡像(Image)、容器(Container)、倉(cāng)庫(kù)(Repository)。鏡像不包含任何動(dòng)態(tài)數(shù)據(jù),其內(nèi)容在構(gòu)建之后也不會(huì)被改變。每個(gè)人生成的不同鏡像,可以互相交換,最終它就變成了一個(gè)公共倉(cāng)庫(kù)。

使用Docker時(shí)候,你會(huì)發(fā)現(xiàn)它真的是個(gè)寶藏,可以秒級(jí)開(kāi)啟應(yīng)用,不用特別繁瑣的配置什么,可以減輕很多這種重復(fù)性的勞動(dòng)。Docker不適合虛擬化桌面,它比較適合linux族,Unix族以及應(yīng)用程序的虛擬化。邏輯是這樣的,在操作系統(tǒng)的概念里面,有一個(gè)內(nèi)核,docker是基于Linux 內(nèi)核,它不適用于Windows虛擬化,Windows操作系統(tǒng)有另外一個(gè)虛擬技術(shù)Hype-y。

Docker有一些缺點(diǎn),表面上很方便,實(shí)際上工具鏈之間的銜接略微糟糕。它將linux的namespace做了深層次的封裝,用戶上手的難度低,部署到生產(chǎn)環(huán)境也很容易。但僅限于小型項(xiàng)目,換成稍微復(fù)雜一些的項(xiàng)目,依賴關(guān)系非常多的話,就能發(fā)現(xiàn)它會(huì)出現(xiàn)各種奇怪的bug。比如docker-compose之間的依賴不會(huì)等待被依賴者加載完畢,掛載volume有時(shí)會(huì)無(wú)法在entrypoint或command中執(zhí)行命令,必須要用COPY等等,變得復(fù)雜和難以維護(hù)。

在進(jìn)行多機(jī)部署的時(shí)候,跟著官方文檔走都不能成功,上stackoverflow和github上查了半天也查不到任何解決辦法,是經(jīng)常發(fā)生的事情。Docker確實(shí)可以降低了運(yùn)維難度,但是運(yùn)營(yíng)成本卻提升了。它最大的一個(gè)缺點(diǎn)是十分吃硬盤。Docker封裝的namespace,并沒(méi)有對(duì)文件進(jìn)行進(jìn)一步的管理,只是粗暴的將文件到處復(fù)制粘貼。當(dāng)服務(wù)器上開(kāi)了數(shù)百個(gè)容器后發(fā)現(xiàn)1TB的硬盤被吃掉了一半時(shí),意味著需要不停增加服務(wù)器資源才能維持系統(tǒng)的運(yùn)行。除了磁盤空間的占用外,作為一名中國(guó)用戶,時(shí)區(qū)、墻等都是問(wèn)題。

當(dāng)然所有問(wèn)題都是可以解決的,只是比較浪費(fèi)時(shí)間。毋庸置疑Docker是個(gè)非??岬墓ぞ撸膬?yōu)點(diǎn)還是遠(yuǎn)大于缺點(diǎn)的。但它并不是萬(wàn)能的,當(dāng)你遇到架構(gòu)簡(jiǎn)單,類似數(shù)據(jù)庫(kù)+應(yīng)用程序這種情況可以不用Docker,業(yè)務(wù)上Docker會(huì)占用太多資源的時(shí)候也可以考慮不用,因?yàn)榉?wù)器資源挺貴。

 

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2023-02-10 09:04:27

2020-02-18 16:20:03

Redis ANSI C語(yǔ)言日志型

2022-06-20 09:01:23

Git插件項(xiàng)目

2022-08-01 11:33:09

用戶分析標(biāo)簽策略

2021-04-08 07:37:39

隊(duì)列數(shù)據(jù)結(jié)構(gòu)算法

2023-09-11 08:13:03

分布式跟蹤工具

2020-08-17 09:25:51

Docker容器技術(shù)

2018-11-14 11:57:28

2018-05-22 08:24:50

PythonPyMongoMongoDB

2023-10-17 08:15:28

API前后端分離

2024-09-23 08:00:00

消息隊(duì)列MQ分布式系統(tǒng)

2020-07-03 08:21:57

Java集合框架

2019-05-14 09:31:16

架構(gòu)整潔軟件編程范式

2017-03-11 22:19:09

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

2022-04-07 10:39:21

反射Java安全

2023-11-18 09:30:42

模型AI

2020-06-04 13:15:14

equalshashCodeJava

2022-07-06 12:07:06

Python函數(shù)式編程

2019-04-01 10:43:59

Linux問(wèn)題故障

2022-05-19 08:28:19

索引數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)