Docker這個軟件究竟是用來干嘛的???

      網友投稿 1116 2022-05-30

      http://dockone.io/article/378

      嘗試新軟件

      對開發者而言,每天會催生出的各式各樣的新技術都需要嘗試,然而開發者卻不太可能為他們一一搭建好環境并進行測試。時間非常寶貴,正是得益于?docker,讓我們有可能在一條或者幾條命令內就搭建完環境。Docker?有一個傻瓜化的獲取軟件的方法,Docker?后臺會自動獲得環境鏡像并且運行環境。

      并不僅僅是新技術環境搭建用得到?Docker。如果你想快速在你的筆記本上運行一個?MySQL?數據庫,或者一個?Redis?消息隊列,那么使用?Docker?便可以非常容易地做到。例如

      Docker?只需要一條命令便可以運行?MySQL?數據庫:

      docker run -d -p 3306:3306 tutum/mysql。

      譯者注:雖然使用命令也能非常快地安裝?MySQL?數據庫,但是當用到最新的技術或者非常復雜的技術時,使用?Docker?便會是個非常好的選擇,例如?:

      事件

      普通用戶

      Docker用戶

      安裝Gitlab

      一天

      一條命令

      進行演示

      現在我經常需要在周末用自己開發的成果對客戶活著別人做一兩個演示。搭建演示環境的過程非常麻煩。現在我發現?Docker?已經成為我演示這些工具的最合理的方式。

      對于客戶來說,我可以直接將?Docker?鏡像提供給他們,而不必去做任何環境配置的工作,工作的效果也會和在他們演示中所看到的一模一樣,同時不必擔心他們的環境配置會導致我們的產品無法運行。

      避免“我機器上可以運行”(而別人的機器不可以)

      無論是企業部署?Docker?還是本文的個人?Docker?用例,都提到了這個情況。因為環境配置不同,很多人在開發中也會遇到這個情況,甚至開發的軟件到了測試人員的機器上便不能運行。但這都不是重點。重點是,如果我們有一個可靠的、可分發的標準開發環境,那么我們的開發將不會像現在這么痛苦。Docker?便可以解決這個問題。Docker?鏡像并不會因為環境的變化而不能運行,也不會在不同的電腦上有不同的運行結果。可以給測試人員提交含有應用的?Docker?鏡像,這樣便不再會發生“在我機器上是可以運行的”這種事情,很大程度上減輕了開發人員測試人員互相檢查機器環境設置帶來的時間成本。

      另一個?Docker?可以發揮用處的地方是培訓班。除了?Docker?容器的隔離性之外,更能體會到?Docker?優勢的地方在于環境搭建。培訓班的新手每個人都要在環境搭建上花費很多時間,但是如果在這里應用到?Docker?的話,那么我們只需要把標準的運行環境鏡像分發下去,然后就可以開始上課了。使用?Docker?和使用虛擬機一樣簡單,但是?Docker?要更方便、更輕量級。同時,我們也可以告訴學員:“在培訓的同時,我們還將學到當下最流行的技術——Docker”,這種雙贏的結局,何樂而不為呢。

      更好地利用資源

      虛擬機的粒度是“虛擬出的機器”,而?Docker?的粒度則是“被限制的應用”,相比較而言?Docker?的內存占用更少,更加輕量級。

      對我來說這是?Docker?的一個優勢:因為我經常在自己電腦中運行多個?Docker?應用,使用?Docker?比使用虛擬機更加簡單,方便,粒度更細,也能持續地跟蹤容器狀態。

      為微服務定制

      如果你一直在關注科技新聞的話,那么你應該聽說過“微服務(Microservices)”的概念。Docker?可以很好地和微服務結合起來。從概念上來說,一個微服務便是一個提供一整套應用程序的部分功能,Docker?便可以在開發、測試和部署過程中一直充當微服務的容器。甚至生產環境也可以在?Docker?中部署微服務。

      在云服務提供商之間移植

      大多數的云主機提供商已經全面支持?Docker。對于開發人員來說,這表示你可以很方便地切換云服務提供商,當然也可以很方便地將你本地的開發環境移動到云主機上,不需要本地上配置一次運行環境、在云主機上還配置一次運行環境。全面部署?Docker (Docker here and Docker there)?作為標準運行環境可以極大地減輕應用上線時的工作量和產生?BUG。

      API?端

      API?是應用之間的粘合劑,一個合格開發者肯定使用過別人提供的?REST API,或者自己開發過?REST API。需要指出的是,無論是客戶端還是?API?提供端,在開發之前都需要先定義一組公共的?API?接口,寫成文檔,然后才能進行編碼。如果服務端和客戶端是共同開發的話,那么服務端通常會先實現能返回固定字符串的?API?接口,在以后的開發中再慢慢去實現?API?的功能。

      雖然有人會認為在這里?Docker?被濫用了,完全可以用?sample.json?這種文件去實現虛擬?API,但是下面有個實例可以更好地解決前后端分離開發時的?API?問題。

      為了更好地解釋我的意思,給大家提供一個實例:JSON Server,一個用于提供?JSON?數據的?REST API。使用過這個容器的人就會知道,既然有這么好用的?Docker JSON Server,我們沒有理由不用?Docker。

      譯者注:

      運行示例的?JSON Server,同時使用示例中提供的?JSON?文件,只需執行一條命令便可以創建一個服務端的?API?應用。

      使用?curl?http://127.0.0.1:80/posts?即可獲取示例文件中的?posts?段,這樣在后端沒有開發完?API?的時候,前端一樣可以進行協同開發。

      技術的創新

      這點應該算不上是用例,但是我還是來寫一下。Docker?正在快速發展,工具也在不斷更新,沒有人能預見到未來?Docker?會是什么樣子的。你在復雜的系統中?Docker?使用的越多,越是可能會發現技術上的空白和未來技術發展的方向。現在還處在?Docker?的發展期,任何你使用?Docker?創建的工具都有可能成為社區關注的熱點。這是?Docker?的機會,也是成就你自己的機會。

      其他

      還有兩個技巧可以分享給你們。在學習?Docker?的過程中因為有了這兩個的幫助,我才得意不斷地提升自己。

      一:Docker Hub Registry。這是?Docker?的官方鏡像倉庫,除了托管著?Docker?官方的鏡像外,和?Github?一樣,你可以在上面上傳自己的鏡像,也可以在上面搜尋其他有用的鏡像,極大地節省自己的時間。例如?Oracle-XE-11g?鏡像,所有的一切都是現成的,完全不需要自己去下載?Oracle XE 11g?安裝。這樣為你和團隊節約了大量的時間成本。

      如果你不太確定的話,可以去?Docker Hub?上搜有一下有沒有自己用得到的鏡像。大部分情況下你所需要的鏡像在?Docker Hub?上都已經有人構建了。

      二:多參考?IaaS?供應商的新聞,雖然我們不能像在他們會議室里那樣完全了解他們的公司動態,但是仍然可以從新聞中可以了解到Docker?最新的發展方向和技術趨勢。可以肯定的是,容器化技術是未來的熱點,我們不僅可以在本機運行?Docker,不僅僅在一家云服務提供商的主機上運行?Docker,未來所有的云服務提供商都會支持?Docker。

      Docker?前景很明確,采用?Docker?只會讓開發變得更方便。

      Docker這個新軟件究竟是用來干嘛的???

      Docker 容器 微服務

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:SpringBoot配置文件的分水嶺——高級配置的使用
      下一篇:2022年MySQL最新面試題 - MySQL數據庫基礎知識
      相關文章
      亚洲精品综合一二三区在线| 亚洲AV无码成人精品区在线观看 | 亚洲国产精品第一区二区| 亚洲成AV人影片在线观看| 亚洲an日韩专区在线| 亚洲国产成人久久| 亚洲成人免费网站| 亚洲六月丁香六月婷婷蜜芽 | 久久亚洲AV成人无码| 久久丫精品国产亚洲av| 久久亚洲精品无码AV红樱桃| 亚洲av无码不卡一区二区三区| 亚洲国产精品无码av| 亚洲av永久无码精品网站| 亚洲AV无码成人精品区蜜桃| 亚洲国产女人aaa毛片在线| 亚洲av不卡一区二区三区| 亚洲人成网www| 亚洲日本在线免费观看| 亚洲人成7777影视在线观看| 亚洲精品中文字幕无乱码麻豆| 亚洲人成77777在线观看网| 亚洲日本VA中文字幕久久道具| 亚洲av午夜电影在线观看| 国产精品亚洲综合一区在线观看| 精品国产亚洲第一区二区三区| 国产亚洲视频在线观看网址| 亚洲国产精品一区二区第一页免 | 亚洲一区精品伊人久久伊人| 国产亚洲精品拍拍拍拍拍| 亚洲精品午夜无码专区| 亚洲AV无码久久精品色欲| 666精品国产精品亚洲| 亚洲av无码国产综合专区| 国产亚洲玖玖玖在线观看| 国产精品亚洲AV三区| 亚洲美女高清一区二区三区| 亚洲人精品午夜射精日韩 | 欧美激情综合亚洲一二区| 亚洲精品A在线观看| 亚洲精品成人片在线观看精品字幕|