亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        計(jì)算機(jī)軟件開(kāi)發(fā)中的Docker 技術(shù)的應(yīng)用

        2020-11-10 07:52:34何木青
        關(guān)鍵詞:計(jì)算機(jī)軟件環(huán)境

        何木青

        (廣東茂名幼兒師范??茖W(xué)校, 廣東 茂名525000)

        0 引 言

        隨著互聯(lián)網(wǎng)信息技術(shù)的迅速發(fā)展和Web2.0 時(shí)代的到來(lái),云計(jì)算也正以一種全新的商業(yè)計(jì)算模式在移動(dòng)商務(wù)、搜索服務(wù)和開(kāi)放協(xié)作等方面快速開(kāi)展起來(lái)。 這使得廣大用戶可以非常便捷地開(kāi)發(fā)、部署應(yīng)用程序,并將這些應(yīng)用程序托管于PaaS 管理的云基礎(chǔ)設(shè)施中,不僅縮短了開(kāi)發(fā)周期,而且還較大程度地降低了運(yùn)維成本。 PaaS 管理的云基礎(chǔ)設(shè)施離不開(kāi)虛擬化的技術(shù)支撐,而Docker 正是與其相匹配的、虛擬化的容器型技術(shù),它的出現(xiàn)使云計(jì)算的軟件開(kāi)發(fā)進(jìn)入了一個(gè)新的時(shí)代——Web2.0 時(shí)代。 由此可見(jiàn),研究Docker 技術(shù)在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用具有極其重大的實(shí)踐意義[1]。

        1 Docker 技術(shù)的內(nèi)涵概述

        Docker 是以Go 語(yǔ)言為基礎(chǔ)的云開(kāi)源項(xiàng)目。 是一個(gè)基于Linux Containers,LXC 虛擬化技術(shù)的高級(jí)容器引擎,在此基礎(chǔ)上,使Docker 容器的使用體驗(yàn)更加優(yōu)化。 可以為用戶提供高效、敏捷和輕量級(jí)的容器方案,支持在本地系統(tǒng)和多種主流云平臺(tái)(PaaS)上進(jìn)行部署,為Docker 技術(shù)的應(yīng)用開(kāi)發(fā)提供“一站式”的解決方案[2]。

        開(kāi)發(fā)Docker 技術(shù)的目的,是為了將各種運(yùn)行環(huán)境和應(yīng)用程序打包成標(biāo)準(zhǔn)的image (鏡像 )/container (容器),使它們?cè)诟髯圆煌钠脚_(tái)上進(jìn)行運(yùn)行操作,應(yīng)用分發(fā)、運(yùn)行、部署、封裝等生命周期,實(shí)現(xiàn)應(yīng)用組件的一次性封裝和隨處運(yùn)行。

        在Docker 技術(shù)中涉及很多概念,諸如:鏡像、容器、鏈接、倉(cāng)庫(kù)以及數(shù)據(jù)卷等等,其中鏡像和容器是最重要的兩個(gè)。 鏡像中包含著Linux 操作系統(tǒng),不僅安裝有Tom cat,而且還裝有用戶所需要的程序;容器則是通過(guò)鏡像來(lái)進(jìn)行創(chuàng)建的,因此容器具有執(zhí)行創(chuàng)建、停止、啟動(dòng)、刪除等操作功能,容器與容器之間是相互隔離的,平臺(tái)的安全性是有保障的。

        2 Docker 技術(shù)與傳統(tǒng)計(jì)算機(jī)軟件的區(qū)別及優(yōu)勢(shì)

        2.1 傳統(tǒng)計(jì)算機(jī)軟件的流程部署與缺點(diǎn)

        計(jì)算機(jī)軟件開(kāi)發(fā)的傳統(tǒng)流程部署過(guò)程:(1)安裝Web 服務(wù)器和數(shù)據(jù)庫(kù),搭建開(kāi)發(fā)環(huán)境,進(jìn)行網(wǎng)絡(luò)分配。 (2)開(kāi)發(fā)人員進(jìn)行測(cè)試、編碼、對(duì)版本進(jìn)行管理。 (3)對(duì)硬件系統(tǒng)進(jìn)行配置安裝并實(shí)現(xiàn)操作[3]。

        傳統(tǒng)計(jì)算機(jī)軟件開(kāi)發(fā)的主要缺點(diǎn):(1)在開(kāi)發(fā)過(guò)程中資源的利用率較低。 (2)不能對(duì)單物理機(jī)的應(yīng)用進(jìn)行有效隔離。 (3)不方便部署軟件開(kāi)發(fā)運(yùn)維。 (4)是對(duì)版本的管理和測(cè)試比較復(fù)雜。 (5)傳統(tǒng)虛擬機(jī)啟動(dòng)較慢,管理復(fù)雜,占用空間比較大;(6)遷移成本高。

        2.2 Docker 技術(shù)的部署與優(yōu)勢(shì)

        IT 系統(tǒng)主要包括4 個(gè)層次,即操作系統(tǒng)、運(yùn)行平臺(tái)、應(yīng)用程序、硬件。 其中:應(yīng)用程序的代碼編輯、發(fā)布、構(gòu)建及測(cè)試,由軟件開(kāi)發(fā)人員負(fù)責(zé);而硬件、操作系統(tǒng)以及運(yùn)行平臺(tái)的安裝、配置和運(yùn)行監(jiān)控的升級(jí)、優(yōu)化等則由運(yùn)行維護(hù)人員負(fù)責(zé)。 在Docker 技術(shù)的支持下,該系統(tǒng)提供的運(yùn)行環(huán)境實(shí)現(xiàn)了上下層操作系統(tǒng)與硬件系統(tǒng)關(guān)聯(lián)有效的隔離,從而使軟件開(kāi)發(fā)的速度得到了極大的提升[4]。

        Docker 技術(shù)與虛擬化技術(shù)進(jìn)行比較,不同點(diǎn)有兩點(diǎn):(1)Docker 技術(shù)的粒度小于傳統(tǒng)的虛擬化技術(shù)的粒度,重量更輕,而且在硬件的虛擬化、指令級(jí)模擬和即時(shí)編譯方面均可省去;傳統(tǒng)的虛擬技術(shù)的目標(biāo)是建立一個(gè)能夠應(yīng)用的虛擬機(jī),而Docker 技術(shù)則是將所有相關(guān)源碼、環(huán)境配置、依賴庫(kù)等統(tǒng)一打包封裝,建立一個(gè)虛擬機(jī)。 (2)Docker 技術(shù)并未對(duì)Linux 操作系統(tǒng)進(jìn)行完全的虛擬,還保留了程序運(yùn)行所必有的核心操作系統(tǒng),所以Docker 技術(shù)與傳統(tǒng)的虛擬技術(shù)相比,不僅具有啟動(dòng)時(shí)間短、空間占用少的特點(diǎn),而且還具備分發(fā)、復(fù)制方便等功能優(yōu)勢(shì)[5]。Docker 技術(shù)與傳統(tǒng)虛擬技術(shù)的比較,見(jiàn)表1。

        表1 Docker 容器與傳統(tǒng)虛擬機(jī)性能對(duì)比差異表Tab. 1 Docker container versus traditional virtual machine performancecomparisondifference table

        Docker 虛擬化技術(shù)可以大幅度提升資源的利用率。 Docker 虛擬化技術(shù)可以對(duì)某一操作系統(tǒng)的管理資源進(jìn)行統(tǒng)一劃分,使之分配到一個(gè)個(gè)孤立的組中,以達(dá)到有效的平衡,提高資源的利用率。

        在Docker 技術(shù)的虛擬化構(gòu)建方面,Docke 是在應(yīng)用組件級(jí)虛擬化技術(shù)基礎(chǔ)上的,使Docker 容器具有封閉性和獨(dú)立性的特征。 封閉性主要表現(xiàn)為每個(gè)容器都有自己的存儲(chǔ)空間、網(wǎng)絡(luò)接口以及進(jìn)程;獨(dú)立性主要表現(xiàn)為當(dāng)某個(gè)容器在運(yùn)行時(shí),不會(huì)因?yàn)槠溥\(yùn)行而引向其它容器,每個(gè)容器都有自己的運(yùn)行職責(zé)[6]。

        Docker 技術(shù)的實(shí)際應(yīng)用范圍廣。 主要體現(xiàn)在:(1)適用范圍除上述外,還適用于普通服務(wù)器。 (2)可以快速創(chuàng)建或刪除容器。 (3)可以擴(kuò)展與部署Web 的應(yīng)用、后端服務(wù)以及數(shù)據(jù)庫(kù)等。

        3 Docker 技術(shù)的體系架構(gòu)

        Docker 是一個(gè)Client/Server,即C S(客戶/服務(wù)器)的架構(gòu),其客戶端實(shí)際上是遠(yuǎn)程控制器,它是通過(guò)TCP/REST 向Docker Host 發(fā)出請(qǐng)求的,請(qǐng)求的內(nèi)容主要包括:容器創(chuàng)建、容器刪除、容器運(yùn)行和容器保存等。 其體系機(jī)構(gòu)的框架結(jié)構(gòu)是:由部署在Docker 的服務(wù)端Daemon,以客戶端的名義發(fā)出管理請(qǐng)求;通過(guò)driver 轉(zhuǎn)發(fā)到位于容器中的libcontainer;再由libcontainer 提供與各種不同的Linux 內(nèi)核隔離接口,實(shí)現(xiàn)Docker 技術(shù)體系架構(gòu)。 由于Docker 容器操作系統(tǒng)無(wú)需專用,因而它可以實(shí)現(xiàn)輕量級(jí)的要求。Docker 體系架構(gòu),見(jiàn)圖1。

        圖1 Docker 體系構(gòu)架圖Fig. 1 Docker Architecture Chart

        4 Docker 技術(shù)在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用

        計(jì)算機(jī)軟件開(kāi)發(fā)是一項(xiàng)極為復(fù)雜的系統(tǒng)工程。開(kāi)發(fā)人員在搭建開(kāi)發(fā)環(huán)境時(shí),會(huì)遇到各種各樣的問(wèn)題,然而Docker 技術(shù)的應(yīng)用,卻給解決這些問(wèn)題帶來(lái)了極大的方便。 比如,Docker 的應(yīng)用,可以使多個(gè)容器同時(shí)運(yùn)行,且在使用功能方面,相較于傳統(tǒng)虛擬機(jī)而言更加強(qiáng)大,能夠較大程度地降低磁盤(pán)、CPU、內(nèi)存的消耗,提升Docker 技術(shù)運(yùn)用的適配性。

        4.1 開(kāi)發(fā)環(huán)境搭建中的Docker 技術(shù)應(yīng)用

        運(yùn)用Docker 技術(shù)進(jìn)行開(kāi)發(fā)環(huán)境的搭建,不僅能夠使開(kāi)發(fā)環(huán)境發(fā)揮出良好的擴(kuò)展性能,而且還能有效地節(jié)約磁盤(pán)、內(nèi)存。 搭建應(yīng)用的具體步驟:(1)在完成Image (鏡像)搭建的基礎(chǔ)上,對(duì)Image 進(jìn)行相應(yīng)的擴(kuò)展,實(shí)現(xiàn)不同的開(kāi)發(fā)環(huán)境。 (2)完成并實(shí)現(xiàn)Image 啟動(dòng)后,把容器(Containe)端口映射到主機(jī)之上,具體映射關(guān)系如圖2 所示。 (3)為了實(shí)現(xiàn)host主機(jī)代碼的快捷編輯,在Container 中對(duì)host 上的目錄進(jìn)行映射處理,并通過(guò)重啟完成相關(guān)操作。 (4)在Container 中進(jìn)行編輯處理,具體如圖3 所示。

        圖2 端口映射關(guān)系Fig. 2 Port mapping relationship

        圖3 端口映射關(guān)系Fig. 3 Port mapping relationship

        4.2 在構(gòu)建軟件開(kāi)發(fā)/測(cè)試環(huán)境中Docker 技術(shù)的應(yīng)用

        在實(shí)際工作中,要搭建開(kāi)發(fā)/測(cè)試環(huán)境往往比較困難,需要軟件開(kāi)發(fā)人員完成眾多的軟件安裝和配置工作。 而應(yīng)用Docker 技術(shù)構(gòu)建開(kāi)發(fā)/N 試環(huán)境,只需要制作一份符合要求Docker 鏡像,即可還原出多個(gè)完全一致的環(huán)境。

        4.3 Docker 技術(shù)的應(yīng)用架構(gòu)

        對(duì)Docker 技術(shù)的實(shí)際應(yīng)用,主要體現(xiàn)在兩個(gè)方面:(1)簡(jiǎn)化了應(yīng)用部署。 主要是大數(shù)據(jù)的應(yīng)用、數(shù)據(jù)庫(kù)的應(yīng)用、后臺(tái)的應(yīng)用以及Web 的應(yīng)用。 例如可以將消息隊(duì)列、 Hadoop 集群等打包成一個(gè)Image 進(jìn)行部署,在Docker 的作用下,通過(guò)配置參數(shù),將Image 進(jìn)行打包上傳。 (2)Docker 技術(shù)的應(yīng)用,使Container 在創(chuàng)建方法上更加靈活。 Container 的創(chuàng)建既可以手動(dòng)創(chuàng)建,也可以利用Docker 自動(dòng)創(chuàng)建,但自動(dòng)創(chuàng)建的前提是,源碼庫(kù)里面必須包含Docker File 文件,Containe 不僅要包含相應(yīng)的應(yīng)用,還應(yīng)包含應(yīng)用的所有依賴項(xiàng)。 此外,還可以使用Docker Pull 等相應(yīng)命令,對(duì)Container 進(jìn)行相應(yīng)推送,使用Docker Run 命令執(zhí)行運(yùn)行、啟動(dòng)、停止等相應(yīng)操作。

        5 結(jié)束語(yǔ)

        本文在對(duì)Docker 技術(shù)內(nèi)涵進(jìn)行探討的基礎(chǔ)上,將Docker 技術(shù)與傳統(tǒng)的虛擬技術(shù)進(jìn)行了比較,Docker 的優(yōu)勢(shì)明顯。 在Docker 技術(shù)軟件的實(shí)際開(kāi)發(fā)應(yīng)用方面,其優(yōu)勢(shì)更是明顯。 隨著隨著互聯(lián)網(wǎng)信息技術(shù)的迅速發(fā)展和Web2.0 時(shí)代的到來(lái),Docker技術(shù)一定會(huì)得到得到更加快速的發(fā)展與廣泛的應(yīng)用。

        猜你喜歡
        計(jì)算機(jī)軟件環(huán)境
        長(zhǎng)期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
        一種用于自主學(xué)習(xí)的虛擬仿真環(huán)境
        孕期遠(yuǎn)離容易致畸的環(huán)境
        不能改變環(huán)境,那就改變心境
        環(huán)境
        孕期遠(yuǎn)離容易致畸的環(huán)境
        基于C語(yǔ)言的計(jì)算機(jī)軟件編程
        電子制作(2018年16期)2018-09-26 03:27:08
        淺談不同編程語(yǔ)言對(duì)計(jì)算機(jī)軟件開(kāi)發(fā)的影響
        電子制作(2018年1期)2018-04-04 01:48:36
        計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)用探析
        電子制作(2017年14期)2017-12-18 07:08:03
        淺談基于C語(yǔ)言的計(jì)算機(jī)軟件程序設(shè)計(jì)
        電子制作(2017年24期)2017-02-02 07:14:40
        久久精品国产亚洲av高清三区| 尤物99国产成人精品视频| 亚洲午夜久久久久久久久电影网| 免费a级毛片无码a∨中文字幕下载 | 国产女人精品视频国产灰线| 亚洲国色天香卡2卡3卡4| 国产精品公开免费视频| 久久久久久一级毛片免费无遮挡| 日韩国产有码在线观看视频| 国产精品一区二区蜜臀av| 日本边添边摸边做边爱| 国产精品久久久久影院嫩草| 免费人成视频在线观看视频| 国产成人久久精品激情91| 有码中文字幕一区二区| 丝袜美腿亚洲综合一区| 国产亚洲精品品视频在线| 国产精品久久久久aaaa| 精品久久人人爽天天玩人人妻| 亚洲色图视频在线观看网站| 国产女主播在线免费观看| 99久久99久久久精品蜜桃| 性高湖久久久久久久久| 亚洲AⅤ永久无码精品AA| 国产女主播在线免费看| 国产成人a级毛片| 搡老熟女老女人一区二区| 一区在线播放| 亚洲av无吗国产精品| 五月综合激情婷婷六月| 曰批免费视频播放免费直播| 日韩偷拍一区二区三区视频| 亚洲国产成人av毛片大全| 2019日韩中文字幕mv| 国内久久婷婷激情五月天| 胳膊肘上有白色的小疙瘩| 日本精品免费看99久久| 国产精品亚洲欧美大片在线看 | 亚洲熟妇av一区二区在线观看| 久青草影院在线观看国产| 8ⅹ8x擦拨擦拨成人免费视频 |