容器化技術~docker

  • 2019 年 11 月 14 日
  • 筆記
  • 參考:https://www.runoob.com/docker/docker-tutorial.html

記得最早接觸docker這個技術是在java實習期間接觸的,其實實習期做的事情每家公司給實習生的任務都不一樣,當時自己實習期做的大部分工作就是當時的技術主管分配的任務,其實任務現在看來很簡單,就是一些項目的增刪改查,還好給的任務都完成了。

那個時候我們的項目都是前後端不分離的,頁面如何排版,頁面如何渲染,數據如何交互都是一個人進行的,由於項目不是很大,幾個人分工一下就開始後面的編碼流程了,當時由於被css這個技術搞得實在無法看下前端代碼,就一直朝着後端技術進行了,想了解前後端有什麼區別的,可以看下這篇文章講述前後端分離的區別

但是對於當時的我來說可不簡單,在實習期間公司也是經常開會的,需求分析,技術分享等等會議了。當時作為一名初入公司的小白而言,什麼都不懂,當自己寫這篇文章的時候,依然記得當時的技術主管分享docker的情形,好像就是這個時候分享的,當時自己看了一下docker相關的內容,由於服務還沒開始進行docker形式的應用,後面由於一些事情離職了就沒有很好的去了解這門技術。

現在的docker容器化技術用的挺普遍的,在微服務的加持下,由於docker容器本身的優勢被廣泛使用,下面我們還是看下docker的相關內容吧。

Docker是一個開源的應用容器引擎,基於Go語言,遵從Apache2.0協議開源,Docker可以讓開發者打包他們的應用以及依賴包到一個輕量級,可移植的容器中,然後發佈到任何流行的linux機器上,也可以實現虛擬化,容器是完全使用沙箱(sand box)機制的,相互之間不會有任何接口,類似iPhone的app,更重要的是容器性能開銷極低。

為什麼使用docker這項技術,我們看下docker的應用場景都有哪些。

  1. Web應用的自動化打包和發佈。
  2. 自動化測試和持續集成,發佈。
  3. 在服務型環境中部署和調整數據庫或者其它後台應用。

Docker的優點,Docker是一個用於開發,交付和運行應用程序的開放平台。Docker使您能夠將應用程序與基礎架構分開,從而可以快速交付軟件。藉助Docker,您可以與管理應用程序相同的方式來管理基礎架構。通過,利用Docker的方法來快速交付,測試和部署代碼,您可以大大減少編寫代碼和在生產環境中運行代碼之間的延遲。

Docker是如何實現快速,一致地交付應用程序的呢?Docker允許開發人員使用您提供的應用程序或服務的本地容器在標準化環境中工作,從而簡化了開發的生命周期,容器非常適合持續繼承和持續交付的工作流程。

開發人員在編寫代碼,可以使用Docker容器與同事共享他們的工作,我們可以將自己的服務使用docker進行構建,這樣下來我們可以很輕鬆的將自己開發好的應用程序交給測試人員在測試環境上面進行測試了,當測試發現應用程序存問題時,我們也可以及時將問題進行修復進行重新構建一個docker服務容器交給測試人員進行測試了,這樣是不是覺得開發和測試的效率都普遍提升了呢。

當我們的程序經過層層測試沒有問題後,我們就可以將我們的容器化應用服務進行發佈到生產環境了,以提供給用戶使用,其實使用docker容器化技術來開發我們的應用技術優勢很明顯。