国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于Docker的分布式開發(fā)環(huán)境的搭建方法及裝置的制造方法

      文檔序號:10470910閱讀:268來源:國知局
      基于Docker的分布式開發(fā)環(huán)境的搭建方法及裝置的制造方法
      【專利摘要】本發(fā)明公開了一種基于Docker的分布式開發(fā)環(huán)境的搭建方法,包括步驟:接收用戶從本地預(yù)存dockerfile文件列表中選擇dockerfile文件的選擇信息;判斷選擇的dockerfile文件是否是最新dockerfile文件;若是,則根據(jù)所述選擇的dockerfile文件從代碼倉庫中復(fù)制與該子系統(tǒng)的源代碼;根據(jù)最新dockerfile文件構(gòu)建子系統(tǒng)的鏡像;通過鏡像構(gòu)建docker容器并在docker容器中運(yùn)行子系統(tǒng)的源代碼,該搭建方法實(shí)現(xiàn)了分布式開發(fā)環(huán)境的單機(jī)部署,本發(fā)明還公開了應(yīng)用該搭建方法的搭建裝置。
      【專利說明】
      基于Docker的分布式開發(fā)環(huán)境的搭建方法及裝置
      技術(shù)領(lǐng)域
      [0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種基于Docker的分布式開發(fā)環(huán)境的搭建方法及裝置。
      【背景技術(shù)】
      [0002]當(dāng)前分布式系統(tǒng)開發(fā)的形式已經(jīng)成為主流的開發(fā)形態(tài),一個(gè)項(xiàng)目常匹配有數(shù)十個(gè)服務(wù),因此往往需要開發(fā)數(shù)臺(tái)服務(wù)器來支撐,且各個(gè)服務(wù)器的部署也各不相同,搭建過程將耗費(fèi)時(shí)力和資源,但若是公用一套開發(fā)環(huán)境,又容易造成服務(wù)器彼此之間的相互干擾,因此需要搭建一套簡單,可操作,且可避免服務(wù)器之間相互干擾的開發(fā)環(huán)境。

      【發(fā)明內(nèi)容】

      [0003]有鑒于此,實(shí)有必要提供一種將復(fù)雜的分布式開發(fā)環(huán)境從多個(gè)遠(yuǎn)程服務(wù)器集中到單機(jī)部署的基于Docker的分布式開發(fā)環(huán)境的搭建方法以及搭建裝置。
      [0004]本發(fā)明實(shí)施例的技術(shù)方案為:一種基于Docker的分布式開發(fā)環(huán)境的搭建方法,包括步驟:接收用戶從本地預(yù)存dockerf ile文件列表中選擇dockerf ile文件的選擇信息,其中,一個(gè)所述dockerf ile文件對應(yīng)匹配一個(gè)分布式服務(wù)的子系統(tǒng);將選擇的dockerf ile文件與代碼倉庫中的dockerfile文件進(jìn)行比較,并判斷所述選擇的dockerfile文件是否是與其相匹配的子系統(tǒng)的最新dockerf ile文件;若所述選擇的dockerf ile文件是所述子系統(tǒng)的所述最新dockerf ile文件,則根據(jù)所述選擇的dockerf ile文件從所述代碼倉庫中復(fù)制與其相匹配的子系統(tǒng)的源代碼;根據(jù)所述最新dockerfile文件構(gòu)建所述子系統(tǒng)的鏡像;以及基于所述鏡像設(shè)置docker容器參數(shù)來構(gòu)建docker容器并在所述docker容器中來運(yùn)行所述源代碼,用于完成分布式環(huán)境的部署。
      [0005]—種基于Docker的分布式開發(fā)環(huán)境的搭建裝置,包括彼此之間建立通訊連接的Ecl ipse插件、代碼開發(fā)IDE以及boot2docker虛擬機(jī),所述代碼開發(fā)IDE還與代碼倉庫建立通訊連接,所述代碼倉庫用于存儲(chǔ)所有分布式服務(wù)的子系統(tǒng)的源代碼以及dockerfile文件,所述Eclipse插件包括第一接收模塊以及第一發(fā)送模塊;所述代碼開發(fā)IDE包括第二接收模塊、判斷模塊、復(fù)制模塊以及代碼目錄模塊;所述boot2docker虛擬機(jī)包括共享模塊、鏡像生成模塊以及容器構(gòu)建模塊,所述第一接收模塊用于所述Eclipse插件接收用戶于從本地預(yù)存的dockerf ile文件列表中選擇dockerf ile文件的選擇信息,一個(gè)所述dockerf ile文件對應(yīng)匹配一個(gè)所述子系統(tǒng);所述第一發(fā)送模塊用于發(fā)送所述選擇信息給所述代碼開發(fā)IDE的所述第二接收模塊;所述判斷模塊用于所述代碼開發(fā)IDE將選擇的dockerf i Ie文件與所述代碼倉庫中的dockerf i Ie文件進(jìn)行比較,并判斷所述選擇的dockerf i Ie文件是否是與其相匹配的子系統(tǒng)的最新dockerf ile文件;所述復(fù)制模塊用于當(dāng)所述選擇的dockerf ile文件是所述子系統(tǒng)的所述最新dockerfile文件時(shí),所述代碼開發(fā)IDE根據(jù)所述選擇的dockerfile文件從所述代碼倉庫中復(fù)制相匹配的子系統(tǒng)的源代碼;所述代碼目錄模塊用于存儲(chǔ)所述復(fù)制模塊獲取的所述源代碼以及本地預(yù)存的dockerfile文件;所述鏡像生成模塊與所述代碼目錄模塊連接,用于讀取所述最新dockerf i Ie文件,并根據(jù)所述最新dockerfile文件構(gòu)建子系統(tǒng)的鏡像;所述容器構(gòu)建模塊用于所述鏡像構(gòu)建后,設(shè)置docker容器參數(shù)來構(gòu)建docker容器并與所述代碼目錄模塊連接來讀取所述源代碼,可使所述源代碼可在所述docker容器中運(yùn)行。
      [000?]基于上述基于Docker的分布式開發(fā)環(huán)境的搭建方法和搭建裝置,利用了Docker技術(shù),代碼開發(fā)IDE存儲(chǔ)有子系統(tǒng)的源代碼以及dockerf ile文件,boot2docker虛擬機(jī)還與代碼開發(fā)IDE建立連接來讀取所述子系統(tǒng)的源代碼和dockerf i Ie文件,并根據(jù)dockerf i Ie文件建立與分布式服務(wù)的子系統(tǒng)相匹配的鏡像和docker容器,以使子系統(tǒng)的該源代碼可在相匹配的docker容器中運(yùn)行;該鏡像和docker容器均部署在同一 boot2docker虛擬機(jī)上,而代碼開發(fā)IDE和b00t2d0cker虛擬機(jī)又部署在同一開發(fā)主機(jī)上,從而將復(fù)雜的分布式開發(fā)環(huán)境從多個(gè)遠(yuǎn)程服務(wù)器集中到單機(jī)部署。
      【附圖說明】
      [0007]圖1為本發(fā)明實(shí)施例基于Docker的分布式開發(fā)環(huán)境的搭建方法的流程圖。
      [0008]圖2為本發(fā)明實(shí)施例基于Docker的分布式開發(fā)環(huán)境的搭建裝置的結(jié)構(gòu)示意圖。
      [0009]圖3為本發(fā)明實(shí)施例基于Docker的分布式開發(fā)環(huán)境的搭建裝置的功能模塊圖。
      【具體實(shí)施方式】
      [0010]下面將結(jié)合本發(fā)明實(shí)施方式中的附圖,對實(shí)施方式中的技術(shù)方案進(jìn)行清楚、完整的描述。
      [0011 ]本發(fā)明實(shí)施例提供的分布式開發(fā)環(huán)境的搭建方法,利用了 Docker技術(shù),將子系統(tǒng)的源代碼從代碼倉庫復(fù)制到代碼開發(fā)IDE,b00t2d0cker虛擬機(jī)還與代碼開發(fā)IDE建立連接,用于該boot2docker虛擬機(jī)可共享子系統(tǒng)的源代碼;還在boot2docker虛擬機(jī)建立與分布式服務(wù)的子系統(tǒng)相匹配的鏡像和docker容器,以使子系統(tǒng)的該源代碼可在相匹配的docker容器中運(yùn)行。由于鏡像和docker容器部署在同一b00t2d0cker虛擬機(jī)上,而代碼開發(fā)IDE和boot2docker虛擬機(jī)又部署在同一windows開發(fā)主機(jī)上,而windows主機(jī)作為代碼IDE開發(fā)環(huán)境,負(fù)載代碼的編寫與同步。從而將原本需要將子系統(tǒng)部署在多個(gè)遠(yuǎn)程服務(wù)器的分布式開發(fā)環(huán)境簡化,節(jié)省了資源,降低了開發(fā)成本。
      [0012]請參看圖1,本實(shí)施中基于Docker的分布式開發(fā)環(huán)境的搭建方法包括步驟:
      [0013]步驟SlOl:接收用戶從本地預(yù)存dockerf ile文件列表中選擇dockerf ile文件的選擇信息,其中,一個(gè)dockerf i Ie文件對應(yīng)匹配一個(gè)分布式服務(wù)的子系統(tǒng)。具體地,本地預(yù)存有dockerf ile文件列表,用戶根據(jù)dockerf ile文件列表可選擇所需要的子系統(tǒng)提供的服務(wù)對應(yīng)的dockerfile文件來構(gòu)建與其相匹配的鏡像。例如,用戶需要檢索服務(wù),此時(shí)可選擇提供檢索服務(wù)的子系統(tǒng)所對應(yīng)的dockerf ile文件。本實(shí)施例子中,本地預(yù)存dockerf ile文件存儲(chǔ)在代碼開發(fā)IDE中,Eclipse插件與代碼開發(fā)IDE建立通訊連接。利用Eclipse插件技術(shù),Ec I ipse插件將讀取存儲(chǔ)在代碼開發(fā)IDE中的本地預(yù)存的dockerf ile文件,并其工作臺(tái)workbench的圖形框架SWT中以可視化圖形展示預(yù)存的dockerf ile文件列表。
      [0014]步驟S103:將選擇的dockerf ile文件與代碼倉庫中的dockerf ile文件進(jìn)行比較,并判斷該選擇的dockerf ile文件是否是與其相匹配的子系統(tǒng)的最新dockerf ile文件。具體地,為了獲取到子系統(tǒng)的最新dockerf ile文件,就需要對用戶選擇的dockerf ile文件進(jìn)行判斷其是否是該子系統(tǒng)最新dockerfile文件。本實(shí)施例子中,代碼倉庫設(shè)于遠(yuǎn)程服務(wù)器上,代碼倉庫中存儲(chǔ)有分布式服務(wù)的子系統(tǒng)的源代碼和dockerfile文件。為了獲取到子系統(tǒng)的最新dockerf ile文件,就需要對用戶選擇的dockerf ile文件與代碼倉庫中的dockerf ile文件比較。
      [0015]步驟S104:若所述選擇的dockerf ile文件是所述子系統(tǒng)的最新dockerf ile文件,則將根據(jù)選擇的dockerfile文件從代碼倉庫中復(fù)制與其相匹配的子系統(tǒng)的源代碼。
      [0016]步驟S105:若所述選擇的dockerfile文件不是其相匹配的子系統(tǒng)的所述最新dockerf ile文件,則將根據(jù)所述選擇的dockerf ile文件從所述代碼倉庫中復(fù)制所述子系統(tǒng)的所述源代碼以及所述最新dockerf ile文件。
      [0017]步驟S107:根據(jù)所述最新dockerf i I e文件構(gòu)建所述子系統(tǒng)的鏡像。具體地,dockerf ile文件用來描述構(gòu)建鏡像的步驟,因此根據(jù)dockerf ile文件來自從構(gòu)建與其匹配的鏡像。dockerfile文件中包含了對各自子系統(tǒng)的代碼編譯、打包和構(gòu)建部署腳本,因此代碼更新后,通過新的dockerf ile文件構(gòu)建的新的鏡像中就自動(dòng)添加了新的應(yīng)用。本實(shí)施例子中,b00t2d0cker虛擬機(jī)與代碼開發(fā)IDE建立掛載以共享所述源代碼和或所述最新dockerf ile 文件。
      [0018]步驟S108:所述鏡像構(gòu)建成功后,設(shè)置docker容器參數(shù)來構(gòu)建docker容器并在所述docker容器中來運(yùn)行所述源代碼,用于完成分布式環(huán)境的部署。具體地,基于鏡像創(chuàng)建并啟動(dòng)docker容器后,此時(shí),boot2docker虛擬機(jī)將與代碼開發(fā)IDE共享的子系統(tǒng)的源代碼映射到對應(yīng)的子系統(tǒng)的docker容器中,在docker容器運(yùn)行源代碼,完成分布式環(huán)境的部署。此時(shí),docker容器之間是彼此隔離的,可避免了發(fā)生相互干擾的情況。
      [0019]上述搭建方法構(gòu)建與分布式服務(wù)的子系統(tǒng)匹配的鏡像和docker容器,以使子系統(tǒng)的該源代碼可在相匹配的docker容器中運(yùn)行,從而將復(fù)雜的分布式開發(fā)環(huán)境從多個(gè)遠(yuǎn)程服務(wù)器集中到單機(jī)部署,節(jié)省了資源和開發(fā)成本,且通過構(gòu)建的相互彼此隔離的docker容器,還可避免開發(fā)干擾。
      [°02°] 相對與上述實(shí)施例,進(jìn)一步地,本實(shí)施例子中S107中boot2docker虛擬機(jī)根據(jù)所述最新dockerf ile文件構(gòu)建所述子系統(tǒng)的鏡像的步驟之前還包括:
      [0021]步驟S106:從基礎(chǔ)鏡像倉庫中獲取基礎(chǔ)鏡像。具體地,基礎(chǔ)鏡像倉庫用于存儲(chǔ)基礎(chǔ)鏡像,獲取到用來描述構(gòu)建鏡像的步驟的最新dockerfile文件以及基礎(chǔ)鏡像后,根據(jù)最新dockerf ile文件的內(nèi)容指示構(gòu)建構(gòu)建具有特定功能的鏡像。本實(shí)施例中,boot2docker虛擬機(jī)與代碼開發(fā)與基礎(chǔ)鏡像倉庫建立通訊連接。
      [0022]相對與上述實(shí)施例,進(jìn)一步地,步驟SlOI中接收用戶從本地預(yù)存dockerf i Ie文件列表中選擇dockerf ile文件的選擇信息的步驟之后還包括:
      [0023]步驟S102:生成復(fù)制指令,該復(fù)制指令包含選擇的dockerfile文件的選擇信息。具體地,本實(shí)施例子中,Eclipse插件接收到選擇信息后,生成復(fù)制指令并發(fā)送給代碼開發(fā)IDE。代碼開發(fā)IDE接收到復(fù)制指令后才進(jìn)行步驟S103。
      [0024]請參看圖2和圖3,本發(fā)明實(shí)施例提供的一種基于Docker的分布式開發(fā)環(huán)境的搭建裝置100包括了彼此之間建立通訊連接的boot2docker虛擬機(jī)101、代碼開發(fā)IDE 201以及Eclipse插件301。代碼開發(fā)IDE201還與代碼倉庫建立通訊連接,用于從代碼倉庫中獲取分布式服務(wù)的子系統(tǒng)的源代碼以及dockerfile文件,且代碼開發(fā)IDE 201將存儲(chǔ)其獲取的源代碼以及dockerf ile文件以及本地預(yù)存的dockerf ile文件;而130<^2(1001^1'虛擬機(jī)101與代碼開發(fā)IDE 201建立通訊連接以共享源代碼以及dockerfile文件,并構(gòu)建與子系統(tǒng)相匹配的鏡像和docker容器,以使子系統(tǒng)的該源代碼可在相匹配的docker容器中運(yùn)行。本實(shí)施例子中鏡像和docker容器部署在同一boot2docker虛擬機(jī)上,而代碼開發(fā)IDE 201和boot2docker虛擬機(jī)101又部署在同一windows開發(fā)主機(jī)上。
      [°°25] Eclipse插件301基于Eclipse插件技術(shù),其將從代碼開發(fā)IDE 201中讀取本地預(yù)存的dockerf ile文件在Ecl ipse插件301的工作臺(tái)wordbench中的圖形框架SWT中以可視化圖形列表展示。又因?yàn)橐粋€(gè)所述dockerfile文件對應(yīng)匹配一個(gè)所述子系統(tǒng),因此,用戶可從本地預(yù)存的dockerfile文件列表中選擇能夠提供所需某項(xiàng)服務(wù)的子系統(tǒng)所對應(yīng)的dockerf ile文件,并將用戶的選擇信息發(fā)送給代碼開發(fā)IDE 201 Acl ipse插件301包括顯示模塊302、第一接收模塊303以及第一發(fā)送模塊304。
      [0026]顯示模塊302用于將Eclipse插件301從代碼開發(fā)IDE 201中讀取本地預(yù)存的dockerf i Ie文件以可視化圖形列表展示。
      [0027]第一接收模塊303用于接收用戶于從dockerf ile文件列表中選擇dockerf ile文件的選擇信息。
      [0028]第一發(fā)送模塊304用于發(fā)送選擇信息給代碼開發(fā)IDE 201。
      [0029]所述代碼開發(fā)IDE201包括代碼目錄模塊202、判斷模塊203、復(fù)制模塊204以及第二接收模塊205。
      [0030]第二接收模塊205接收第一發(fā)送模塊304用于發(fā)送選擇信息。
      [0031]判斷模塊203用于第二接收模塊205接收選擇信息后,將選擇的dockerfile文件與所述代碼倉庫中的dockerf i Ie文件進(jìn)行比較,并判斷所述選擇的dockerf i Ie文件是否是與其相匹配的子系統(tǒng)的最新dockerfile文件。
      [0032]復(fù)制模塊204用于當(dāng)判斷模塊203判斷出所述選擇的dockerfile文件是所述子系統(tǒng)的所述最新dockerf ile文件時(shí),根據(jù)所述選擇的dockerf ile文件從所述代碼倉庫中復(fù)制相匹配的子系統(tǒng)的源代碼?;蛘弋?dāng)判斷模塊203判斷出所述選擇的dockerfile文件不是其相匹配的子系統(tǒng)的所述最新dockerf ile文件,則所述代碼開發(fā)模塊將根據(jù)所述選擇的dockerf ile文件從所述代碼倉庫中復(fù)制所述子系統(tǒng)的所述源代碼以及所述最新dockerf ile 文件。
      [0033]代碼目錄模塊202用于存儲(chǔ)復(fù)制模塊204獲取的源代碼和最新dockerfile文件以及本地預(yù)存的dockerf ile文件。
      [0034]所述b00t2d0Cker虛擬機(jī)101包括鏡像生成模塊103以及容器構(gòu)建模塊104。
      [0035]鏡像生成模塊103與代碼目錄模塊202連接,讀取子系統(tǒng)的最新dockerfile文件,并根據(jù)該最新的dockerf i I e文件構(gòu)建子系統(tǒng)的鏡像。
      [0036]容器構(gòu)建模塊104用于鏡像創(chuàng)建后,設(shè)置docker容器參數(shù)來構(gòu)建docker容器并與代碼目錄模塊202連接來讀取子系統(tǒng)的源代碼,可使所述源代碼可在所述docker容器中運(yùn)行。具體地,基于Docker技術(shù),docker容器獲取到子系統(tǒng)的源代碼,以使該子系統(tǒng)的源代碼可在其相匹配的docker容器中運(yùn)行,以此來提供服務(wù)給用戶。
      [0037]上述搭建裝置從代碼倉庫獲取到了源代碼和dockerfile文件,利用子系統(tǒng)的最新dockerf ile文件構(gòu)建了與分布式服務(wù)的子系統(tǒng)匹配的鏡像和docker容器,便使子系統(tǒng)的該源代碼可在相匹配的docker容器中運(yùn)行,從而將復(fù)雜的分布式開發(fā)環(huán)境從多個(gè)遠(yuǎn)程服務(wù)器集中到單機(jī)部署,節(jié)省了資源和開發(fā)成本,且通過構(gòu)建的相互彼此隔離的docker容器,還可避免開發(fā)干擾。
      [0038]相對與上述實(shí)施例,進(jìn)一步地,鏡像生成模塊103為了構(gòu)件與子系統(tǒng)相匹配的鏡像,該搭建裝置100的boot2docker虛擬機(jī)101還包括基礎(chǔ)鏡像獲取模塊105,基礎(chǔ)鏡像獲取模塊105與基礎(chǔ)鏡像倉庫建立通訊,用于從基礎(chǔ)鏡像倉庫中獲取基礎(chǔ)鏡像。從而,鏡像生成模塊103根據(jù)從共享模塊102讀取的子系統(tǒng)的所述最新dockerfile文件,在基礎(chǔ)鏡像上構(gòu)建具有特定功能的鏡像。
      [0039]相對與上述實(shí)施例,進(jìn)一步地,Eclipse插件301的第一接收模塊303所接收用戶于從dockerf ile文件列表中選擇dockerf ile文件的選擇信息是通過復(fù)制指令輸送代碼開發(fā)IDE 201,第一接收模塊202接收到選擇信息后,第一發(fā)送模塊203通過發(fā)送復(fù)制指令給代碼開發(fā)IDE 201,該復(fù)制指令中包含該選擇信息。
      [0040]相對與上述實(shí)施例,進(jìn)一步地,boo t2docker虛擬機(jī)1I還包括共享模塊102,共享模塊102用于boot2docker虛擬機(jī)101與代碼開發(fā)IDE 201建立通信連接,用于共享代碼目錄模塊202中的源代碼以及最新dockerf ile文件,以及共享模塊102還與鏡像生成模塊103建立通訊連接來傳輸最新dockerfile文件,還與容器構(gòu)建模塊104建立通訊連接來傳輸源代碼。具體地,若所選擇的dockerf ile文件是相匹配的子系統(tǒng)的最新dockerf ile文件,則此時(shí)共享模塊獲取的最新dockerf ile文件即為用戶所選擇的dockerfile文件;若所選擇的dockerf ile文件不是相匹配的子系統(tǒng)的最新dockerf ile文件,則此時(shí)共享模塊獲取的最新dockerf ile文件即為復(fù)制模塊從代碼倉庫中復(fù)制過來的。本實(shí)施例子中,共享模塊102為共享磁盤,其與代碼目錄模塊202建立磁盤掛載,還通過磁盤映射方式傳輸源代碼到docker容器中。
      [0041]綜合而言,本發(fā)明實(shí)施例中的基于Docker的分布式開發(fā)環(huán)境的搭建方法和搭建裝置,利用Docker技術(shù),實(shí)現(xiàn)了分布式服務(wù)子系統(tǒng)的單機(jī)部署,且利用相互隔離的docker容器可避免了開發(fā)時(shí)各個(gè)服務(wù)間的相互干擾,減少了對服務(wù)器環(huán)境依賴,降低了開發(fā)成本。此外,還利用Ecl ipse插件技術(shù)實(shí)現(xiàn)了可視化的文件選擇。
      [0042]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述簡潔,上述描述的裝置、模塊、單元具體工作過程可以參看前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
      [0043]在本申請所提供的幾個(gè)實(shí)施例中,所揭示的方法和裝置可以通過其他方式實(shí)現(xiàn),例如以上描述的裝置實(shí)施例僅為示意性的,所述模塊單元的劃分僅僅為一種邏輯功能劃分,實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或者組件可以結(jié)合或者一些特征可以忽略或者不執(zhí)行。
      [0044]對所公開實(shí)例的上述說明,使得本技術(shù)領(lǐng)域?qū)I(yè)人員能夠?qū)崿F(xiàn)或者使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)一致的最寬范圍。
      【主權(quán)項(xiàng)】
      1.一種基于Docker的分布式開發(fā)環(huán)境的搭建方法,其特征在于,包括步驟: 接收用戶從本地預(yù)存dockerfile文件列表中選擇dockerf ile文件的選擇信息,其中,一個(gè)所述dockerf ile文件對應(yīng)匹配一個(gè)分布式服務(wù)的子系統(tǒng); 將選擇的dockerf ile文件與代碼倉庫中的dockerf ile文件進(jìn)行比較,并判斷所述選擇的dockerf ile文件是否是與其相匹配的子系統(tǒng)的最新dockerf ile文件; 若所述選擇的dockerf ile文件是所述子系統(tǒng)的所述最新dockerf ile文件,則根據(jù)所述選擇的dockerfile文件從所述代碼倉庫中復(fù)制與其相匹配的子系統(tǒng)的源代碼; 根據(jù)所述最新dockerf i Ie文件構(gòu)建所述子系統(tǒng)的鏡像; 基于所述鏡像設(shè)置docker容器參數(shù)來構(gòu)建docker容器并在所述docker容器中來運(yùn)行所述源代碼,用于完成分布式環(huán)境的部署。2.如權(quán)利要求1所述的基于Docker的分布式開發(fā)環(huán)境的搭建方法,其特征在于,所述將選擇的dockerf ile文件與代碼倉庫中的dockerf ile文件進(jìn)行比較,并判斷所述選擇的dockerf ile文件是否是與其相匹配的子系統(tǒng)的最新dockerf ile文件的步驟之后還包括: 若所述選擇的dockerfile文件不是其相匹配的子系統(tǒng)的所述最新dockerf ile文件,則根據(jù)所述選擇的dockerf ile文件從所述代碼倉庫中復(fù)制所述子系統(tǒng)的所述源代碼以及所述最新dockerf ile文件。3.如權(quán)利要求2所述的基于Docker的分布式開發(fā)環(huán)境的搭建方法,其特征在于,根據(jù)所述最新dockerf i Ie文件構(gòu)建所述子系統(tǒng)的鏡像步驟之前還包括: 從基礎(chǔ)鏡像倉庫中獲取基礎(chǔ)鏡像。4.如權(quán)利要求3所述的基于Docker的分布式開發(fā)環(huán)境的搭建方法,其特征在于,所述接收用戶從本地預(yù)存dockerf ile文件列表中選擇dockerf ile文件的選擇信息的步驟之后還包括: 生成復(fù)制指令,所述復(fù)制指令包括用戶選擇dockerf i Ie文件的的所述選擇信息。5.—種基于Docker的分布式開發(fā)環(huán)境的搭建裝置,包括彼此之間建立通訊連接的Ecl ipse插件、代碼開發(fā)IDE以及boot2docker虛擬機(jī),所述代碼開發(fā)IDE還與代碼倉庫建立通訊連接,所述代碼倉庫用于存儲(chǔ)所有分布式服務(wù)的子系統(tǒng)的源代碼以及dockerfile文件,其特征在于,所述Ecl ipse插件包括第一接收模塊以及第一發(fā)送模塊;所述代碼開發(fā)IDE包括第二接收模塊、判斷模塊、復(fù)制模塊以及代碼目錄模塊;所述boot2docker虛擬機(jī)包括鏡像生成模塊以及容器構(gòu)建模塊, 所述第一接收模塊用于所述Ecl ipse插件接收用戶于從本地預(yù)存的dockerf ile文件列表中選擇dockerf ile文件的選擇信息,一個(gè)所述dockerf ile文件對應(yīng)匹配一個(gè)所述子系統(tǒng); 所述第一發(fā)送模塊用于發(fā)送所述選擇信息給所述代碼開發(fā)IDE的所述第二接收模塊;所述判斷模塊用于所述代碼開發(fā)IDE將選擇的dockerfile文件與所述代碼倉庫中的dockerf ile文件進(jìn)行比較,并判斷所述選擇的dockerf ile文件是否是與其相匹配的子系統(tǒng)的最新dockerf i I e文件; 所述復(fù)制模塊用于當(dāng)所述選擇的d ο c k e r f i I e文件是所述子系統(tǒng)的所述最新dockerf ile文件時(shí),所述代碼開發(fā)IDE根據(jù)所述選擇的dockerf ile文件從所述代碼倉庫中復(fù)制相匹配的子系統(tǒng)的源代碼; 所述代碼目錄模塊用于存儲(chǔ)所述復(fù)制模塊獲取的所述源代碼以及本地預(yù)存的dockerf ile 文件; 所述鏡像生成模塊與所述代碼目錄模塊連接,用于讀取所述最新 dockerf i Ie文件,并根據(jù)所述最新dockerf i Ie文件構(gòu)建子系統(tǒng)的鏡像; 所述容器構(gòu)建模塊用于所述鏡像生成后,基于所述鏡像設(shè)置docker容器參數(shù)來構(gòu)建docker容器并與所述代碼目錄模塊連接來讀取所述源代碼,可使所述源代碼可在所述docker容器中運(yùn)行。6.如權(quán)利要求5所述的搭建裝置,其特征在于,所述復(fù)制模塊還用于當(dāng)所述判斷模塊判斷出所述選擇的dockerf ile文件不是所述子系統(tǒng)的所述最新dockerf ile文件時(shí),根據(jù)所述選擇的dockerf ile文件從所述代碼倉庫中復(fù)制所述子系統(tǒng)的所述源代碼以及所述最新dockerf ile 文件。7.如權(quán)利要求6所述的搭建裝置,其特征在于,所述boot2docker虛擬機(jī)還與基礎(chǔ)鏡像倉庫建立通訊連接,所述boot2docker虛擬機(jī)還包括基礎(chǔ)鏡像獲取模塊, 所述基礎(chǔ)鏡像獲取模塊用于從所述基礎(chǔ)鏡像倉庫獲取基礎(chǔ)鏡像。8.如權(quán)利要求7所述的搭建裝置,其特征在于,所述第一發(fā)送模塊用于發(fā)送生成的復(fù)制指令給所述第二接收模塊,所述復(fù)制指令包含用戶選擇的dockerf ile文件的所述選擇信息;所述第二接收模塊接收所述復(fù)制指令以使所述判斷模塊執(zhí)行判斷操作。9.如權(quán)利要求8所述的搭建裝置,其特征在于,所述Eclipse插件還包括顯示模塊,所述顯示模塊用于讀取所述代碼目錄模塊的本地預(yù)存的dockerfile文件以圖形列表形式顯示本地預(yù)存的dockerf ile文件列表。10.如權(quán)利要求9所述的搭建裝置,其特征在于,所述boot2docker虛擬機(jī)還包括共享模塊,所述共享模塊用于所述boot2docker虛擬機(jī)與所述代碼開發(fā)IDE建立通訊連接以共享所述代碼目錄模塊中的所述源代碼以及所述最新dockerfile文件,以及所述共享模塊還分別與所述鏡像生成模塊以及所述容器構(gòu)建模塊建立通訊連接,用于將所述最新dockerfile文件輸送給述鏡像生成模塊以及將所述源代碼輸送給所述容器構(gòu)建模塊。
      【文檔編號】G06F9/44GK105824614SQ201510937134
      【公開日】2016年8月3日
      【申請日】2015年12月15日
      【發(fā)明人】王沛文, 鐘堅(jiān), 廖小文, 曹建平
      【申請人】廣東億迅科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1