漫畫:容器技術docker是什麼?

工匠小豬豬的技術世界發表於2019-01-02

本文轉載自公眾號 網際網路偵查

漫畫:容器技術docker是什麼?

小史是一個非科班的程式設計師,雖然學的是電子專業,但是透過自己的努力成功透過了面試,現在要開始迎接新生活了。

漫畫:容器技術docker是什麼?

話說小史已經接受了A廠的offer,這不,已經在公司附近租好了房子,準備搬家過去住了。

家裡的東西真是多呀,小史的很多傢俱都是組裝起來的,現在都已經拆散放到呂老師的車上了。

就這樣,呂老師開車帶著小史一起去了公司附近的新住址。

開了一個多小時,終於到了新住址。一進房間,小史就忙著把心愛的電腦桌拼起來。

但是電腦桌拆起來快,裝起來可不好裝,幾十個元件,一百多個螺絲釘,小史裝了一下午,最後還發現少了幾個螺絲釘。

漫畫:容器技術docker是什麼?

【晚飯】

晚上,小史和呂老師一起吃飯。

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

【呂老師前傳】

呂老師以前還是程式設計師的時候,在B廠上班,有一次一個新專案要釋出上線。結果測試環境跑得好好的,生產環境死活跑不起來。

漫畫:容器技術docker是什麼?

【docker有啥好】

漫畫:容器技術docker是什麼?

小史:docker我用過,不過當時是因為影片教程裡用的docker部署的環境,所以我也就跟著做了,其實反而覺得更麻煩了,它到底哪裡好呢?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

呂老師:這方面docker做了很多事情,比如提供了基礎映象的方式,docker官方的映象倉庫裡有很多映象,可以直接拉下來用,然後新的映象可以以它們為基礎,在上面commit新的東西。

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

呂老師:同時,docker使用了映象分層的技術,新的commit會產生新的層,可以複用一部分老的層。這樣一來製作新映象的速度還是挺快的。

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

小史:我明白你的意思,這樣確實製作映象的時候可以加快速度,但是假如我要把整個環境放到另外一個機器部署,還是要複製整個大的映象過去吧?

漫畫:容器技術docker是什麼?

【dockerfile】

漫畫:容器技術docker是什麼?

呂老師:你說的對,電腦桌不拆,直接放我車上放不下,那麼能不能這樣,我們拆的時候,就把哪個螺絲在哪裡這些細節記錄好,到時候裝的時候只要按照記錄順序安裝就好。

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

呂老師:你看,就這個簡單的檔案。第一行它告訴你這個映象基於ubuntu基礎映象,第二行告訴你這個映象的維護者的資訊,第三行的RUN就是要執行的shell命令,比如這裡,是在ubuntu的基礎映象上安裝一些額外的東西,第4行是映象啟動之後執行的初始命令。

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

【docker最佳實踐】

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

呂老師:其實在網路好的情況下,下載一個映象一般來說比重新打一個映象更快,所以最終部署都是基於映象去部署,不會重新打映象了。

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

【docker關鍵概念】

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

呂老師:你說的沒錯,其實映象有點像程式碼,容器有點像程式。程式碼是存放在硬碟上的東西,而把程式碼執行起來,就會形成一個程式,程式才是跑起來的程式。

漫畫:容器技術docker是什麼?

小史:對,你這個比喻真是貼切,映象和容器也是一樣,映象是存在硬碟上的東西,映象執行起來,就形成一個容器,容器才是真正跑起來的程式。只不過在docker中,我們可以進入容器,做一些操作,然後再把容器中的改動提交形成一個新的映象。

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

小史:如果說映象是程式碼的話,映象倉庫就有點像github了,我們寫好的程式碼會提交到github上面進行儲存和管理,方便在其他地方也能下載程式碼。映象倉庫也是類似的,製作好的映象,就把它放到映象倉庫,方便其他人直接用映象部署。

漫畫:容器技術docker是什麼?

【筆記】

聊天結束後,小史悄悄在手機中記錄下了這次的筆記。

一、容器技術docker的思考方式是,將環境一起打包映象,避免部署時的環境問題。

二、dockerfile記錄映象的製作步驟

三、映象、容器、倉庫的概念可以類比程式碼、程式、github

【飯後】

吃完晚飯,小史和呂老師走在大街上,望著天上的星空。

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?

漫畫:容器技術docker是什麼?



生活現場是網際網路偵察推出的現場系列中的另一個板塊,旨在透過生活中的場景,來解釋大資料微服務技術中的基本原理,希望對大家學習技術原理有所幫助。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31555484/viewspace-2287147/,如需轉載,請註明出處,否則將追究法律責任。

相關文章