999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Docker技術在軟件開發過程中的具體運用

2018-02-26 04:46:44周俊威
電子技術與軟件工程 2018年14期
關鍵詞:應用

周俊威

摘要 文章以Docker技術在軟件開發過程中的具體運用為研究對象,首先對分析了Docker技術概念及優勢,隨后對分析了軟件開發中Docker技術的運用以供參考。

【關鍵詞】Docker技術 軟件開發 應用

1 Docker技術概述及優勢分析

1.1 Docker技術概述

Docker是一個基于Linux Containers虛擬化技術的高級容器引擎,把Linux的cgroupnamespace等容器底層技術進行封裝抽象,從而為用戶提供了創建與管理容器的界面,其中包括命令行與API,Docker作為一個開源項目,基于Google公司推出的Go語言來實現,并遵循Apache2.0協議,而Docker技術即是一種面向云平臺的虛擬化技術,開發Docker技術的最初目的是將各種應用程序和他們所依賴的運行環境打包成標準的contamer(容器)/image(鏡像),從而可以在不同的平臺上進行運行。而運用Docker技術最終目的即是可以管理應用組件的封裝、分發、部署、運行等生命周期,從而實現應用組件級別的“一次封裝,隨處運行”。

Docker包含很多重要的概念,例如鏡像、容器、數據卷、鏈接、倉庫等,其中鏡像類似于虛擬機的快照,但它相對于虛擬機快照來說更加輕量級,例如一個鏡像可以包含一個完整的Linux操作系統環境,里面僅僅安裝了Tomcat,還包含一些其他用戶需要的程序。可以通過鏡像來進行容器的創建。Docker容器相當于從快照中進行虛擬機的創建,其是鏡像創建的運行實例,因此可以被執行創建、刪除、停止、啟動等操作,并且對于每個容器來說,其都是互相隔離的,從而可以確保平臺的安全性。數據卷簡單來說即是可供一個或多個容器使用的特殊目錄,可以實現進程與數據的分離,實際上其保存在數據之外,從而可以在不影響數據的前提下執行對容器的刪除、重建、修改等操作,此外,還可以在多個容器之間實現數據卷共享功能。容器的鏈接(linking)是除了端口映射以外,另一種和容器進行交互應用的方式,通過在源與接收容器之間創建一個通道,用于接收容器可以看到源容器指定的信息。

1.2 Docker技術優勢

在傳統的軟件開發方面,主要包含以下幾點部署流程(僅包括純技術部分):首先完成開發環境的搭建,需要進行Web服務器的安裝、數據庫的安裝及網絡分配,其次是相關的開發測試,需要軟件程序開發人員進行編碼、測試、版本管理工作,最后是上線生產,需要軟件程序開發人員實現操作系統及各種硬件安裝配置。主要存在以下幾點問題:

(1)在開發過程中資源利用率較低;

(2)單物理機應用較多,無法進行有效隔離;

(3)軟件開發運維部署不夠方便;

(4)測試、版本管理過于復雜;

(5)遷移成本非常高;

(6)傳統虛擬機占用的空間較大,啟動較慢,并且管理方面非常復雜。

一個完整的IT系統應包括以下幾個層次,分別是應用程序、運行平臺( bin/framework/lib)、操作系統、硬件(基礎設施)。其中軟件開發人員主要負責應用程序的代碼編輯、構建、測試及發布,主要涉及應用程序及虛擬平臺這兩層,而軟件運行維護人員則涉及從硬件、操作系統、到運行平臺的安裝、配置、運行監控、升級、優化等工作,Docker技術的支持下,其提供了一種運行環境,從而實現了對上層應用于下層操作系統與硬件系統關聯有效的隔離,使得術業有專攻,極大提升了軟件開發的效率。

從虛擬化技術的角度來看,Docker與傳統的虛擬化技術相比,其粒度更小、更輕量級,它不需要虛擬化硬件,也不需要即時編譯與指令級模擬。對于傳統的虛擬化技術來說(例如v Sphere和Hyper-V),其目標是建立一個可以執行應用的整套虛擬機;而Docker所利用的Linux容器技術則是將應用所需要的相關源碼、依賴庫、環境配置等進行統一打包封裝,并在此基礎上實現一個虛擬機的建立。Docker虛擬化技術可以對由一個單獨操作系統管理的資源進行統一的劃分,使得相應資源被分配到一個個孤立的組中,并使得孤立組之間資源使用需求沖突得到有效的平衡,進而大大提升了資源的利用率。在Docker技術的支持下,容器可以不需要任何特殊的解釋機制,就可以在核心CPU運行本地指令,從而使得軟件開發過程中半虛擬化和系統調用替換的復雜性得到了有效的降低,在運行性能方面更加接近宿主機的運行性能。

Docker在虛擬化構建方面主要基于應用組件級虛擬化技術進行,從而使得容器具有獨立性和封閉性的特征,其中獨立性體現為一個容器在運行時不會對其他容器或者宿主環境造成影響,各司其職。封閉性體現為每一個容器都有屬于自己的存儲空間、進程以及網絡接口,不對外開放,除此之外,還包含Linux系統運行所需的一些應用程序。但Docker技術與傳統操作系統級虛擬化技術不同,其雖然也基于容器運行,但并沒有對一個完整的Linux操作系統進行完全虛擬,而只保留了應用程序運行所必需的核心操作系統環境。因此與傳統的虛擬技術相比,它還具有啟動時間短(秒級啟動、停止)、空間占用少(一般僅幾M)、分發和復制方便等優勢,除此之外,還可以在普通服務器上建立上百個Docker實例,有效提升開發測試部署的速度,使得版本管理得到有效的簡化,與此同時,Docker還可以快速創建并刪除容器,有效實現快速迭代,使得軟件開發、測試、部署時間得到很好的解決,并且,由于相應不同的步驟都有著明確的位置與操作,因此整個過程全程可見,更加有利于開發團隊共同協作開展軟件開發工作。此外,Docker還可以部署與擴展web應用、數據庫及后端服務,例如在羊年春晚,正是由于Docker集群成功的為1.02億用戶提供了刷微博、搶紅包提供了可靠地服務。具體來說,Docker容器與傳統虛擬機對比差異如表l所示。

1.3 Docker的體系架構

Docker的客戶端是遠程控制器,對于Docker Host來說,其會收到通過TCP/REST傳送來的請求,請求呈多樣性變化,其中最為常見的請求包括、容器創建、容器刪除、容器保存、容器運行、等。Daemon位于Docker的服務端,可以以客戶端的請求為根據,對其進行管理。然后通過driver的應用可以將請求轉發到Iibcontainer執行環境中,該執行環境位于容器中。libcontainer提供與各種Linux內核隔離的接口,與控制組具有一定的的相似性。在這種架構環境下,多個容器可以對一個Linux內核進行共享,而對于這些容器來說,其在運行方面又相互隔離。因此要保證Docker技術的輕量級要求得以實現,就不能在Docker容器中配置專用操作系統。

2 軟件開發中Docker技術的運用

軟件開發是一項復雜的工程,在很多情況下,基于種種因素影響,軟件開發人員在搭建對開發環境時,總是會遇到各種問題,此時軟件開發人員可以利用Docker技術作為一種輕量級的有效解決方案,Docker在功能方面與傳統虛擬機類似,并且相較于傳統虛擬機而言其功能更加強大,例如可以使用Docker使得多個容器同時進行運行,并且相較于與傳統的虛擬機,運用Docker對CPU、磁盤、內存的消耗更低,極大提升了Docker運用到適配性。

2.1 Docker在開發環境搭建中的應用

軟件開發人員在進行開發環境搭建時,可以通過應用Docker技術,使得開發環境具有良好的擴展性,與此同時,還能夠有效實現磁盤內存節約。首先要完成基礎的Image(鏡像)搭建,然后在此基礎之上,對Image進行相應擴展,從而使得不同的開發環境得以實現。在完成Image啟動之后,需要把Container(容器)端口映射到主機之上,映射關系如圖1所示。

在某些情況下,為了能夠在host的主機中實現更加快捷便利的代碼編輯,軟件開發人員需要在Container中對host主機(宿主)上的目錄進行映射處理,在這種情況下,軟件開發人員不需要手動復制這些目錄至Container上,然后通過重啟完成相關操作。而是直接可以在Container中對其進行運行與編輯處理。具體的磁盤映射關系如圖2所示。

2.2 Docker技術的應用架構

在進行軟件開發過程中,想要成功發布一款產品,作為軟件開發人員需要關注的東西非常多,從各種OS到各種中間件再到各種App,事無巨細,并且使得相應管理方面也增加了很多難度,這一問題是軟件行業中普遍存在的問題,同時也是軟件行業在進行軟件開發時必須要直接面對的問題,在軟件開發過程中通過對Docker技術的應用,其可以對多種部署應用實例工作加以簡化,例如Web應用、后臺應用、數據庫應用、大數據應用等,具體來說,其可以將諸如Hadoop集群、消息隊列等打包成一個Image進行部署工作,實際上,使用Docker部署一個應用的方法非常簡單,基于Docker自身特性,很多時候我們可以使用相同的image,然后在此基礎上配以不同的運行時軟件和數據,在Docke作用下,其將網絡,存儲等相關內容都進行了自主配置,下載應用并安裝。然后通過一些參數的配置,將Image進行打包上傳。除此此外,Container在創建方法上更加靈動自由,其可以由程序開發人員自主手動創建,也可以由Docker自動創建,但前提條件是如果源碼庫里面包涵Docker File文件,此時才會自動自動創建,對于Containe來說,其作為一個容器不僅包涵相應應用,還包括應用的所有依賴項。因此開發人員可以使用諸如Docker、Search等命令,并在無論是公有還是私有的Docker Registry里對Containers進行搜索,另一方面,還可以使用諸如Docker Pull等相應命令,從注冊表里對Container進行相應推送,還可以使用ockerRun命令執行啟動、運行、停止等相應操作。

3 總結

綜上所述,通過對Docker技術相應概念進行了分析介紹,并將其與傳統虛擬機進行了性能優勢對比,從中可以看出Docker技術具有顯著的優勢,盡管在安全性與隔離性方面Docker相較于傳統虛擬機仍有待進一步提升,但仍不可否認在軟件開發中運用Docker技術仍更具備優勢,相信隨著云計算的發展,Docker技術會得到得到更廣泛的發展與應用。

參考文獻

[1]高禮,高昕.Docker技術在軟件開發過程中的應用研究[J].軟件,2016, 37(03):110-113.

[2]段嘉騰.Docker技術在軟件開發過程中的應用研究[J].中小企業管理與科技(中旬刊),2016,37 (09):152-153.

[3]鐘良侃.Docker技術在Web服務系統中的應用研究[J].電腦知識與技術,2016,12 (26):123-126.

猜你喜歡
應用
配網自動化技術的應用探討
科技視界(2016年21期)2016-10-17 19:54:47
帶壓堵漏技術在檢修中的應用
科技視界(2016年21期)2016-10-17 19:54:05
行列式的性質及若干應用
科技視界(2016年21期)2016-10-17 18:46:46
癌癥擴散和治療研究中的微分方程模型
科技視界(2016年21期)2016-10-17 18:37:58
紅外線測溫儀在汽車診斷中的應用
科技視界(2016年21期)2016-10-17 18:28:05
多媒體技術在小學語文教學中的應用研究
考試周刊(2016年76期)2016-10-09 08:45:44
微課的翻轉課堂在英語教學中的應用研究
大學教育(2016年9期)2016-10-09 08:28:55
分析膜技術及其在電廠水處理中的應用
科技視界(2016年20期)2016-09-29 14:22:00
GM(1,1)白化微分優化方程預測模型建模過程應用分析
科技視界(2016年20期)2016-09-29 12:03:12
煤礦井下坑道鉆機人機工程學應用分析
科技視界(2016年20期)2016-09-29 11:47:01
主站蜘蛛池模板: 国产午夜福利亚洲第一| 黄色网站不卡无码| 久久人搡人人玩人妻精品| 国产欧美专区在线观看| 精品人妻一区无码视频| 91精品国产自产91精品资源| 国产91高跟丝袜| 国产主播在线观看| 精品国产Ⅴ无码大片在线观看81| 极品国产一区二区三区| 成人a免费α片在线视频网站| 国产喷水视频| 久久精品国产精品青草app| 成人精品视频一区二区在线| 亚洲欧美极品| 亚洲高清中文字幕在线看不卡| 国产中文一区a级毛片视频| 中文字幕第4页| 成人毛片免费观看| 日本一本正道综合久久dvd| 国产欧美日韩va| 亚洲激情99| 久久精品日日躁夜夜躁欧美| 中文字幕乱妇无码AV在线| 8090午夜无码专区| 自拍欧美亚洲| 无码福利日韩神码福利片| 亚洲精品国产自在现线最新| 丁香五月亚洲综合在线 | 色噜噜狠狠狠综合曰曰曰| 在线精品亚洲国产| 亚洲第一色网站| 99一级毛片| 一级一级一片免费| 三上悠亚在线精品二区| 亚洲欧美日韩久久精品| 精品久久香蕉国产线看观看gif| 九色国产在线| 国产在线91在线电影| 夜夜操天天摸| 欧美区日韩区| 国产午夜福利在线小视频| 中文字幕在线播放不卡| 91精品国产丝袜| 亚洲国产理论片在线播放| 在线a视频免费观看| av无码久久精品| 亚洲色图欧美在线| 免费A∨中文乱码专区| 女人一级毛片| 黑人巨大精品欧美一区二区区| 亚洲91在线精品| 国产成人三级在线观看视频| 欧美精品不卡| 国产精品爽爽va在线无码观看| 欧美亚洲国产精品久久蜜芽| 又污又黄又无遮挡网站| 亚洲香蕉在线| 午夜性爽视频男人的天堂| 中文字幕乱码二三区免费| 国产精品综合久久久| 丁香婷婷激情网| 日韩精品无码一级毛片免费| 亚洲中字无码AV电影在线观看| 青草视频久久| 99精品免费欧美成人小视频| 亚洲精品自产拍在线观看APP| 中文纯内无码H| 天堂久久久久久中文字幕| 丝袜国产一区| 国产在线拍偷自揄拍精品| 久久a级片| 福利一区三区| 国产超碰在线观看| 国产成人午夜福利免费无码r| 亚洲av综合网| 日韩午夜福利在线观看| 久久这里只精品热免费99| 香蕉精品在线| 国产精品无码AV片在线观看播放| 久久99热66这里只有精品一| 怡红院美国分院一区二区|