Docker系列之烹饪披萨(二)
生活随笔
收集整理的這篇文章主要介紹了
Docker系列之烹饪披萨(二)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
上一篇我們講解了虛擬機(jī)和容器的區(qū)別,本節(jié)我們來講講Docker中關(guān)于Dockerfile、鏡像、容器等基本概念。Docker是一個(gè)在容器內(nèi)開發(fā)、部署、運(yùn)行應(yīng)用程序的平臺(tái),Docker本質(zhì)上是容器化的代名詞,容器對(duì)于提高軟件開發(fā)和數(shù)據(jù)科學(xué)的安全性,可重復(fù)性和可擴(kuò)展性起到了重要作用,擁抱Docker已是趨勢(shì),讓我們進(jìn)入Docker課堂。
烹飪材料
接下來我們通過學(xué)習(xí)如何烹飪披薩,一探究竟Docker平臺(tái)各個(gè)基本概念,一說到吃,大家應(yīng)該馬上就提起興趣了。Docker Container(容器)
1.承載東西-這當(dāng)然是最基本的啦,既然是收納箱,就是用來裝東西的,有些東西可以放在收納箱內(nèi),也可以放在收納箱外(這就好比在容器內(nèi)可以裝載應(yīng)用程序及其依賴)2.方便攜帶-有了收納箱我們可以隨處搬運(yùn),就像小孩的玩具一樣,可以從家拿到學(xué)校,攜帶方便。(這就好比容器輕巧,可以在任何地方運(yùn)行)3.接口訪問-收納箱上方有一個(gè)蓋蓋,我們將其打開,可以放入或取出物品(這就好比容器與外界有連接的機(jī)制,比如通過命令行進(jìn)行數(shù)據(jù)交互)4.遠(yuǎn)程獲取-制造商通過對(duì)應(yīng)模具模板可以制造出成千上萬個(gè)收納箱,然后將收納箱放到某寶或某東上,最終我們?cè)谀硨毣蚰硸|上購買這個(gè)收納箱(這就好比模具是鏡像,通過鏡像制作容器)
物理形式存在的收納箱容器從被制造出來的那一刻就被賦予了生命,既然被賦予了生命當(dāng)然也就存在對(duì)應(yīng)的生命周期,我們可將收納箱的生命周期歸納為四個(gè)階段:孵化、閑置、使用、廢棄。萬事萬物一旦存在,無論是物理形式還是虛擬形式都有其生命周期,容器也不例外,只不過容器由人為操縱控制其生命周期直至其關(guān)閉。?通過以上引入生活實(shí)例物理收納箱容器的隱喻來對(duì)比虛擬化容器,得出虛擬化容器的特點(diǎn),想必到此應(yīng)該對(duì)容器有了一點(diǎn)點(diǎn)通透的了解。
Docker Image(鏡像)
上述關(guān)于關(guān)于物理存在的收納箱容器是以某種實(shí)例而存在,雖說容器是虛擬的,但是到底是如何虛擬出來的呢?它是以何種生命形式而存在的呢?答案則是:鏡像孕育了容器,也就是說鏡像構(gòu)造出了容器。那么鏡像又是什么呢?從語義層面理解,我們可能認(rèn)為就是圖像,而圖像可能是根據(jù)手機(jī)或者攝像機(jī)將拍攝范圍的全部?jī)?nèi)容映射到物理圖像上,但是事實(shí)情況真的如此嗎?顯然不是,鏡像其實(shí)就是一個(gè)模具或模板,對(duì)于收納箱的模板如下,我們根據(jù)模板而刻畫出如上漂亮且精致的收納箱容器。
Dockerfile(鏡像說明書)
講完了鏡像,我們又有疑惑了,鏡像又是怎么來的呢?通過Dockerfile來創(chuàng)建,Dockerfile是一個(gè)文件,這個(gè)文件中包含了如何構(gòu)建鏡像的說明,Dockerfile只是用來構(gòu)建初始鏡像層的基本鏡像,我們可將其看做是鏡像的說明書。根據(jù)Dockerfile中的使用說明,我們可以將附加層堆疊在基礎(chǔ)鏡像層的頂部。最后根據(jù)Dockerfile代碼,在其他層的頂部堆疊薄的可寫層,每一層是如此的薄,堆疊可寫的過程就好似洋蔥的成長(zhǎng)過程,多么形象而生動(dòng),如果你愿意一層一層,一層的剝開我的心,你會(huì)發(fā)現(xiàn) 你會(huì)訝異....哈哈。
?Container Registry
烹飪披薩
關(guān)于披薩所需要的材料我們都已配齊,接下來我們?cè)囋噥碜灾婆_,好不好吃不要緊,重要的是享受制作的過程。第二步:披薩有幾層,比如包含面包層、奶酪層、醬汁層等等,因?yàn)榕浞秸f明我們知道要做什么,這是不可更改的計(jì)劃,這就好比我們從底層首先構(gòu)建出基本的鏡像如ubuntu,然后添加奶酪層等,這一層相當(dāng)于我們安裝外部庫,比如python,最后再刷上一層泰國甜辣醬,簡(jiǎn)直是人間美味,這就相當(dāng)于我們已編寫好的應(yīng)用程序代碼,最終就有了披薩的原型,也就形成了Docker Image(鏡像),
第三步:我們做好了披薩,這個(gè)時(shí)候我們需要將其放入烤箱中,烤箱就好比Docker平臺(tái),當(dāng)我們將買回來的烤箱放在家里,這個(gè)時(shí)候就好比將Docker安裝在計(jì)算機(jī)上一樣,當(dāng)我們扭動(dòng)烤箱按鈕的那一刻,我們就開始烹飪披薩,這就像我們開始創(chuàng)建并啟動(dòng)容器啦。
第四步:等待一小會(huì),當(dāng)披薩熟了,熟透了的披薩就好比Docker容器。
第五步:最終大功告成,我們開始吃披薩,吃披薩就好比我們?cè)谌萜髦惺褂脩?yīng)用程序一樣。
本節(jié)我們通過烹飪披薩講述了Docker平臺(tái)上基本概念,以及各個(gè)基本概念之間的關(guān)系,它們是如何關(guān)聯(lián)起來的,希望通過本文的講解,對(duì)于閱讀本文的童鞋能對(duì)概念有更深入的理解,應(yīng)該不會(huì)通過我的講解,越講越懵逼吧,哈哈。有了對(duì)基本概念的理解,后續(xù)陸續(xù)引入例子就一目了然啦,感謝閱讀,我們下節(jié)再會(huì)。?
熱賣課程
總結(jié)
以上是生活随笔為你收集整理的Docker系列之烹饪披萨(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 「数据ETL」从数据民工到数据白领蜕变之
- 下一篇: 史上最能“拜客户教”的公司,是如何做到持