跳到主要內容

Docker vs VM 的學習

工作上用到 Docker 也一段時間了,剛接觸到 Docker 時常常會聽到別人這樣解釋,"Docker Container 技術,類似於 VM。差別是 Container 比較小,沒有包含 OS,而 VM 會包含 OS"。
這段話我覺得不算是全錯,所以我一開始也是這樣去解釋給別人聽,直到我聽到我同事在面試求職者時問了這句話,"如果 Container 比較快,比較輕量,優點這麼多,為什麼 VM 沒有被淘汰?" 我才忽然意識到,我並沒有真正瞭解這兩種技術的差別。

事實上,這件事情要從解決問題的角度上出發去理解。任何技術的產生應該都是為了解決某些痛點,從這點來思考的話網路上就有很多文章可以查到了,我把我查到的最清楚的文章連結放下本文最下方,有興趣的可以去看看。

VM 是為了解決硬體的資源共享的問題所產生出來的技術,而這個需求仍然存在,並不會因為有了 Docker Container 技術就取代了。這個可以回答為什麼 VM 沒有被淘汰。因為要解決的問題不一樣,事實上很多 Container 還是跑在 VM 裏頭,可謂是相輔相成。

Docker 是為了解決什麼問題才發明的呢? 我的消化與理解是 "解決建置環境的複雜度" 而發明的,每個 Dockerfile 會指定使用的映象檔(image),然後寫下需要安裝的 Tool 指令。按照這個 Dockerfile 上面列下的指令去安裝與建置,就可以重現執行這個 APP Runtime 所需要的環境。這解決了以前工程師常說的那句話 "在我的電腦上跑得好好的,為什麼在正式環境就行不通" 的問題。

 

參考連結

留言

這個網誌中的熱門文章

加密貨幣交易實戰心得筆記

加密貨幣交易實戰心得筆記 . 對於加密貨幣,雖然公司有個團隊已經在開發相關產品,但我自己只有大概了解什麼是加密貨幣,什麼是比特幣,以及什麼是區塊鍊。雖然稍微知道,但也只是知道,並沒有真的去購買跟投資。 . 幾天前公司舉辦了一場課程,邀請了史旺基到公司分享加密貨幣的交易實戰。課程需要自費,但其中包含了直接幫我們購買比特幣,並將購買的比特幣交易給我們。可以實際接觸到加密貨幣的交易讓我很期待,因此毫不猶豫的就參加了這堂課程。 . 這堂課程並不是在技術上來跟你說什麼是加密貨幣或是區塊鍊的技術是什麼,它著重在由淺入深的介紹什麼是比特幣、什麼是區塊鍊、什麼是去中心化、什麼是挖礦、誰是中本聰、什麼是以太坊以及以太幣、什麼是熱錢包以及冷錢包,等等這類的相關資訊。 . 學習並了解上面介紹的基本資訊之後,課程的重點放在了交易所的介紹與操作上面。我們一步一步的申請了台灣的兩個交易所,分別是 MaiCoin 以及 BitoEX。相信有在投資比特幣的人應該都已經知道,但對於沒有追上潮流的我來說,這個資訊真的是省了我很多研究的時間,立刻感覺前進了一大步,雖然手續費高常常可能卡幣,但中文介面,簡單的認證與交易方式,讓我感覺已經真的觸碰到了比特幣與區塊鍊的邊。 . 除了台灣交易所,更有國際交易平台的介紹與教學,這邊我就不一一介紹了,因為我自己也都還沒申請,而且這些國際平台很多是停止申請帳號的。 . 另外還有更多的資訊,包括怎麼開始投資,投資心法以及不少的中英文介紹資料,包括App的介紹。 . 這堂課除了讓我立刻從門外漢大躍進成初心者,更是直接開始打怪(購買)了,破除了這個最大靜摩擦力之後,我讓我的投資標的又多了一個可能,感覺非常值得。

C# Linq Select() 在 Java 的對應!!

最近用 Java 8 在寫 Android 的 Side Project, 由於因為工作的關係比較熟悉 C#,寫一寫覺得很多地方很不習慣,除了 Json 要使用 Gson library 來做序列化以外,還有 C# 的 LINQ 在 Java 用發也差很多。 這裡特別紀錄一下 C# 中 LINQ 的 Select() var result = productList.Select(x = > x.name).ToList(); Console.WriteLine(result); 在 Java 中 有 Stream() 可以用。例如  String result = productList.stream() .map(p -> p.name) .collect(Collectors.toList()); System.out.println(result); 來完成,之後如果使用到更多的功能,再來補充吧~

[團隊,從傳球開始]

. 最近跟公司的前輩聊天,當時問他有什麼什麼書可以推薦給我,他推薦了我一本書,這本書是"團隊,從傳球開始"。或許是他希望給我一個方向,因為我在目前的團隊裡面是經驗比較多的,需要更有領導力來帶領現在的團隊吧。 . 這本書是關於 John Wooden 這位傳奇教練的領導哲學。Wooden 是美國大學籃球史上最難以超越的總教練,他在 UCLA 執教時讓當時的籃球隊達成全國冠軍七連霸,最長連勝高達八十八次。 . 書中有許多讓我自己感到很有幫助的文字,我把它紀錄下來 . 領導者學無止境,若是停止學習就等同於死了 推銷自己的價值與原則 永遠不要企圖變得比誰更好,但是永遠不要停止成為最好的自己 成功金字塔特質 : 勤奮、熱情 、友情、忠誠、合作、自我控制、專注力、警覺性、衝勁、狀態、技能、團隊精神、鎮定、自信、極致的競爭力 怎麼教 : 先解釋、再示範、跟著做、接著不斷重複 律己最嚴 如果會議時間是三點,而你三點才到,其實你已經遲到了 要快,不要趕;如果你沒空把事情做好,那你怎麼可能還會有空重做一遍? 什麼東西不能教? 人格、靈敏度 跟願意傳球的人在一起 自己負責;最終你所做的決定,決定了你是誰 努力:成功的終極魔數。付出所有的努力,無論是個人或是團隊的一份子,都不是安慰獎或是次等的成就。在我看來,它就是頭獎,它才是最高等級的成就。 別做24/7便利商店;Wooden 的訓練方式是每天只要兩個小時的時間,全心投入,絕對要參與所有訓練的細節。然而一但練球結束,籃球也就跟著結束了。 一直問同樣的問題,[我該如何幫助我們的球隊變得更好?] 別當個大氣球 活在別人的期待是多麼蠢的一件事[太平洋也無法滿足所有人的期待] 擁有好人生 把你的資產最大化 這些摘錄的部份是我快速看過一遍後比較有感的地方。 整本書只有些許地方提到籃球,更多的地方反而是提到領導者的氣量跟原則。像是不斷學習,努力是重要的,勝利並不是最後的評斷。 . 這本書有好多很棒的觀念需要我細細琢磨,我覺得某些想法可以成為我自己的原則。 在看這本書之前我看過史蒂芬-柯維的與[成功有約],我發現這本書也有很多地方有重疊。像是要找到自已的原則,主動積極,努力不懈。 . 覺得最大幫助的幾個要點是,找到自己的路,全心投入事業2小...