Python技巧:Docker框架的使用系列教程(一)

千鋒武漢發表於2021-04-15

      最近Python程式設計師提到最多的一個框架就是docker了,對於一些新手來說還不知道他的存在,這裡小千就用幾期文章給大家介紹一下這個docker和使用教程,喜歡的話記得關注一下。

       1.什麼是Docker?

      Docker時Docker.Lnc公司開源的一個基於LXC技術之上搭建的Container容器引擎,原始碼託管在Github上,基於Go語言並遵從Apache2.0協議開源。Docker將應用程式與該程式的依賴,打包在一個檔案裡面。執行這個檔案,就會生成一個虛擬容器。程式在這個虛擬容器裡執行,就好像在真實的物理機上執行一樣。有了Docker,就不用擔心環境問題。

      總體來說,Docker的介面相當簡單,使用者可以方便地建立和使用容器,把自己的應用放入容器。容器還可以進行版本管理、複製、分享、修改,就像管理普通的程式碼一樣。容器是完全使用沙箱機制,相互之間不會有任何介面(類似 iPhone 的 app),更重要的是容器效能開銷極低。

1

       2.Docker的設計理念和概念

      docker設想是交付執行環境如同海運,OS如同一個貨輪,每一個在OS基礎上的軟體都如同一個集裝箱,使用者可以透過標準化手段自由組裝執行環境,同時集裝箱的內容可以由使用者自定義,也可以由專業人員製造。這樣,交付一個軟體,就是一系列標準化元件的集合的交付,如同樂高積木,使用者只需要選擇合適的積木組合,並且在最頂端署上自己的名字(最後一個標準化元件是使用者的app)。這也就是基於docker的PaaS產品的原型。

      所以Docker的主要目標是“Build,Ship and Run Any App,Anywhere”,也就是透過對應用元件的封裝、分發、部署、執行等生命週期的管理,使使用者的APP(可以是一個WEB應用或資料庫應用等等)及其執行環境能夠做到“一次封裝,到處執行”。

      Docker是開發人員和系統管理員使用容器開發、部署和執行應用程式的平臺。使用Linux容器來部署應用程式稱為集裝箱化。使用docker輕鬆部署應用程式。目前,Docker 從 17.03 版本之後分為 CE(Community Edition: 社群版) 和 EE(Enterprise Edition: 企業版),我們用社群版就可以了。

       3.Docker的組成部分

      一個完整的Docker有以下幾個部分組成:DockerClient客戶端、Docker Daemon守護程式、Docker Image映象、DockerContainer容器。

      透過執行images啟動容器,一個images是一個可執行的包,其中包括執行應用程式所需要的所有內容-程式碼,執行時,庫、環境變數和配置檔案。容器時images執行時示例-當被執行時(即,images狀態,或者使用者程式)在記憶體中,可以使用命令檢視正在執行容器的列表docker ps,就像在Linux中一樣。

       4.容器虛擬化和用途

      Docker的主要用途,目前有三大類:

      提供了一次性的環境:比如,本地測試他人的軟體、持續整合的時候提供單元測試和構建的環境。

      提供彈性的雲服務:因為Docker容器可以隨開隨關,很適合動態擴容和所容。

      組建微服務架構:透過多個容器,一臺機器可以跑多個服務,因此在本機就可以模擬出微服務架構。

       5. Docker的使用場景

      使用Docker容器開發、測試、部署服務:因為Docker本身非常輕量化,所以本地開發人員可以構建、執行並分享Docker容器。容器可以在開發環境中建立,然後再提交到測試,最終進入生產環境。

      建立隔離的執行環境:在很多企業應用中,同一服務的不同版本可能服務於不同的使用者,那麼使用Docker非常容易建立不同的生成環境來執行不同的服務。

      搭建測試環境:由於Docker的輕量化,所以開發者很容易利用Docker在本地搭建測試環境,用來測試程式在不用系統下的相容性;甚至搭建叢集的部署測試。

      構建多使用者的平臺即服務(PaaS)基礎設施。

      提供軟體即服務(SaaS)應用程式。

      高效能、超大規模的宿主機部署。

      以上就是關於 Docker的一些基礎介紹了,下一期我們給大家介紹 Docker的安裝和常用概念,千萬不要錯過了。


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

相關文章