<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Docker 的 8 個(gè)應(yīng)用場景,看看你知道幾個(gè)?!

          共 2785字,需瀏覽 6分鐘

           ·

          2022-02-12 08:35

          點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)

          來源:http://dockerone.com/article/126

          Flux 7在本文中介紹了常用的8個(gè)Docker的真實(shí)使用場景,分別是簡化配置、代碼流水線管理、提高開發(fā)效率、隔離應(yīng)用、整合服務(wù)器、調(diào)試能力、多租戶環(huán)境、快速開發(fā)。

          這幾天群里都在討論Docker的應(yīng)用場景,轉(zhuǎn)載這篇文章的初衷是想跟大家有一些交流互動(dòng),你是如何使用Docker的?是什么樣的應(yīng)用場景?歡迎回復(fù)或投稿給我。

          以下為原文:

          幾周前Flux 7參加了DockerCon,DockerCon是首個(gè)以Docker為中心的技術(shù)大會(huì)。它面向開發(fā)者以及對(duì)在Docker開放平臺(tái)上構(gòu)建、交付、運(yùn)行分布式應(yīng)用感興趣的從業(yè)者,不論這些開放平臺(tái)是運(yùn)行于自用筆記本上或者是數(shù)據(jù)中心的虛擬機(jī)上。

          Flux 7的CEO Aater Suleman和一位客戶共同發(fā)表了演講。雖然DockerCon大會(huì)十分有趣,但我覺得大會(huì)太關(guān)注Docker的具體細(xì)節(jié),而忽略了Docker的使用場景。以下是作者分享的一些Docker的實(shí)際應(yīng)用案例。

          1、簡化配置


          這是Docker公司宣傳的Docker的主要使用場景。虛擬機(jī)的最大好處是能在你的硬件設(shè)施上運(yùn)行各種配置不一樣的平臺(tái)(軟件、系統(tǒng)),Docker在降低額外開銷的情況下提供了同樣的功能。

          它能讓你將運(yùn)行環(huán)境和配置放在代碼中然后部署,同一個(gè)Docker的配置可以在不同的環(huán)境中使用,這樣就降低了硬件要求和應(yīng)用環(huán)境之間耦合度。

          2、代碼流水線管理


          前一個(gè)場景對(duì)于管理代碼的流水線起到了很大的幫助。代碼從開發(fā)者的機(jī)器到最終在生產(chǎn)環(huán)境上的部署,需要經(jīng)過很多的中間環(huán)境。

          而每一個(gè)中間環(huán)境都有自己微小的差別,Docker給應(yīng)用提供了一個(gè)從開發(fā)到上線均一致的環(huán)境,讓代碼的流水線變得簡單不少。

          3、提高開發(fā)效率


          這就帶來了一些額外的好處:Docker能提升開發(fā)者的開發(fā)效率。

          如果你想看一個(gè)詳細(xì)一點(diǎn)的例子,可以參考Aater在DevOpsDays Austin 2014大會(huì)或者是DockerCon上的演講:

          http://www.slideshare.net/Flux7Labs/using-docker-to-improve-web-developer-productivity-dev-opsdays-austin-may-5

          不同的開發(fā)環(huán)境中,我們都想把兩件事做好。一是我們想讓開發(fā)環(huán)境盡量貼近生產(chǎn)環(huán)境,二是我們想快速搭建開發(fā)環(huán)境。

          理想狀態(tài)中,要達(dá)到第一個(gè)目標(biāo),我們需要將每一個(gè)服務(wù)都跑在獨(dú)立的虛擬機(jī)中以便監(jiān)控生產(chǎn)環(huán)境中服務(wù)的運(yùn)行狀態(tài)。然而,我們卻不想每次都需要網(wǎng)絡(luò)連接,每次重新編譯的時(shí)候遠(yuǎn)程連接上去特別麻煩。

          這就是Docker做的特別好的地方,開發(fā)環(huán)境的機(jī)器通常內(nèi)存比較小,之前使用虛擬的時(shí)候,我們經(jīng)常需要為開發(fā)環(huán)境的機(jī)器加內(nèi)存,而現(xiàn)在Docker可以輕易的讓幾十個(gè)服務(wù)在Docker中跑起來。

          4、隔離應(yīng)用


          有很多種原因會(huì)讓你選擇在一個(gè)機(jī)器上運(yùn)行不同的應(yīng)用,比如之前提到的提高開發(fā)效率的場景等。

          我們經(jīng)常需要考慮兩點(diǎn),一是因?yàn)橐档统杀径M(jìn)行服務(wù)器整合,二是將一個(gè)整體式的應(yīng)用拆分成松耦合的單個(gè)服務(wù)(譯者注:微服務(wù)架構(gòu))。如果你想了解為什么松耦合的應(yīng)用這么重要,請(qǐng)參考Steve Yege的論文:

          https://plus.google.com/+RipRowan/posts/eVeouesvaVX

          文中將Google和亞馬遜做了比較。使用 Docker 部署 Spring Boot 項(xiàng)目推薦閱讀。

          5、整合服務(wù)器


          正如通過虛擬機(jī)來整合多個(gè)應(yīng)用,Docker隔離應(yīng)用的能力使得Docker可以整合多個(gè)服務(wù)器以降低成本。

          由于沒有多個(gè)操作系統(tǒng)的內(nèi)存占用,以及能在多個(gè)實(shí)例之間共享沒有使用的內(nèi)存,Docker可以比虛擬機(jī)提供更好的服務(wù)器整合解決方案。

          6、調(diào)試能力


          Docker提供了很多的工具,這些工具不一定只是針對(duì)容器,但是卻適用于容器。它們提供了很多的功能,包括可以為容器設(shè)置檢查點(diǎn)、設(shè)置版本和查看兩個(gè)容器之間的差別,這些特性可以幫助調(diào)試Bug。

          你可以在《Docker拯救世界》的文章:

          http://flux7.com/blogs/docker/docker-saves-the-day-at-flux7/

          找到這一點(diǎn)的例證。另外,Docker 系列面試題和答案全部整理好了,微信搜索Java技術(shù)棧,在后臺(tái)發(fā)送:面試,可以在線閱讀。

          7、多租戶環(huán)境


          另外一個(gè)Docker有意思的使用場景是在多租戶的應(yīng)用中,它可以避免關(guān)鍵應(yīng)用的重寫。最新 Dockder 面試題整理好了,點(diǎn)擊Java面試庫小程序在線刷題。

          我們一個(gè)特別的關(guān)于這個(gè)場景的例子是為IoT(譯者注:物聯(lián)網(wǎng))的應(yīng)用開發(fā)一個(gè)快速、易用的多租戶環(huán)境。這種多租戶的基本代碼非常復(fù)雜,很難處理,重新規(guī)劃這樣一個(gè)應(yīng)用不但消耗時(shí)間,也浪費(fèi)金錢。

          使用Docker,可以為每一個(gè)租戶的應(yīng)用層的多個(gè)實(shí)例創(chuàng)建隔離的環(huán)境,這不僅簡單而且成本低廉,當(dāng)然這一切得益于Docker環(huán)境的啟動(dòng)速度和其高效的diff命令。另外,關(guān)注公眾號(hào)Java技術(shù)棧,在后臺(tái)回復(fù):面試,可以獲取我整理的 Docker 系列面試題和答案,非常齊全。

          更多詳情:

          http://flux7.com/blogs/docker/using-docker-for-quick-and-easy-multi-tenancy/

          8、快速開發(fā)


          在虛擬機(jī)之前,引入新的硬件資源需要消耗幾天的時(shí)間。Docker的虛擬化技術(shù)將這個(gè)時(shí)間降到了幾分鐘,Docker只是創(chuàng)建一個(gè)容器進(jìn)程而無需啟動(dòng)操作系統(tǒng),這個(gè)過程只需要秒級(jí)的時(shí)間。這正是Google和Facebook都看重的特性。

          你可以在數(shù)據(jù)中心創(chuàng)建銷毀資源而無需擔(dān)心重新啟動(dòng)帶來的開銷。通常數(shù)據(jù)中心的資源利用率只有30%,通過使用Docker并進(jìn)行有效的資源分配可以提高資源的利用率。








          開工大吉!再發(fā) 10,000 個(gè)紅包封面
          2021 年發(fā)生的 10 件技術(shù)大事!!
          23 種設(shè)計(jì)模式實(shí)戰(zhàn)(很全)
          換掉 Log4j2!tinylog 橫空出世
          一款基于 Spring Boot 的神仙接私活項(xiàng)目
          勁爆!Java 協(xié)程要來了
          重磅官宣:Redis 對(duì)象映射框架來了!!
          推薦一款代碼神器,代碼量至少省一半!
          程序員精通各種技術(shù)體系,45歲求職難!
          Spring Boot 3.0 M1 發(fā)布,正式棄用 Java 8
          Spring Boot 學(xué)習(xí)筆記,這個(gè)太全了!



          關(guān)注Java技術(shù)棧看更多干貨



          獲取 Spring Boot 實(shí)戰(zhàn)筆記!
          瀏覽 47
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  产国三xxxxx | 亚洲阿v天堂 | 大香蕉大香蕉大香蕉 | 91精品国产乱码久久久久久 | 做爱黄色视频 |