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

基于Docker的運維平臺設計

2018-04-14 02:05:51張延冬邢艷芳
計算機時代 2018年4期
關鍵詞:程序

張延冬,邢艷芳

(1.南京南瑞繼保電氣有限公司,江蘇 南京 211102;2.中國傳媒大學南廣學院)

0 引言

由于軟件開發人員與軟件測試或運維人員的環境信息不對稱,傳統的軟件交付方式存在很多問題。如軟件發布分散,使用者安裝軟件時需要解決軟件的依賴關系。這些問題不但降低了軟件交付效率,而且難以實現持續交付和集成。

作為開源的應用容器引擎,Docker很好地解決了上述問題。本文研究了基于Docker的輕量級虛擬化方案,以及類似于版本管理的映像管理模式。

1 方案設計

1.1 工作模塊

Docker的運行主要依賴以下幾個模塊:①Linux操作系統,Docker依賴于像Linux容器(LXC)這樣的Linux技術,以及Cgroups和命名空間功能,這些在Windows操作系統尚不存在,所以Linux的操作系統是Docker必不可少的基礎。②虛擬機,由于普遍采用Windows操作系統,所以需要虛擬機安裝Linux操作系統。③VMware虛擬機軟件,創建虛擬機并完成配置,以滿足Docker正常使用。配置好基本的硬件信息之后,在虛擬機上安裝Linux系統,采用centOS6.8的操作系統,下載并安裝Docker[1]。

1.2 Docker

Docker是軟件工業的集裝箱技術,它提供了一個可供應用程序運行的獨立空間或者說容器。Docker最初采用Go語言編寫,相當于是加在Linux容器上的管道,允許開發者在更高層次的概念上工作。Docker擴展了Linux容器,通過一個高層次的API為進程單獨提供輕量級的虛擬環境。與傳統虛擬機不同的是,一個Docker容器并不包含一個單獨的操作系統,而是基于已有基礎設施中操作系統所提所供的功能來運行[2]。

Docker基于C/S架構,由客戶端和服務端組成,主要包含以下組件:①Docker Client,Docker的客戶端。②Docker Server,是Docker daemon的主要組成部分,用于接收用戶通過Docker Client發來的請求,并按照相應的路由規則實現路由分發。③Docker Registry,是Docker鏡像的中央存儲倉庫,用于儲存上傳的私有和公有Docker容器的鏡像備份。Docker的三個基本要素分別是:①Docker容器,負責應用程序的運行,程序可以是操作系統,或者用戶添加的文件和元數據。②Docker鏡像,是一個只讀文件,用來運行創建的Docker容器。③Dockerfile文件指令集,用來創建Docker鏡像,其命令用來構建容器的每一層[3]。

1.3 部署流程

⑴ 自定義指令集,依據基礎鏡像,結合實際的需要,在Dockerfile指令集中增添命令,創建符合實際需求的Docker鏡像。

⑵ 創建鏡像,可以通過Dockerfile文件創建,也可以通過倉庫拉取,還可以通過壓縮文件解壓生成鏡像,或者通過容器的反向Commit生成鏡像。

⑶ 生成容器,所有的鏡像文件都是為了生成Docker容器,容器是Docker的核心部分,在容器中部署、運維、測試。

⑷ 上傳和下載鏡像,通過Docker官方提供的開源平臺Registry倉庫,方便鏡像的使用和傳播[4]。

2 環境配置

2.1 虛擬機配置

虛擬機采用VMware12,可以虛擬所有的操作系統,而且操作簡單。首先安裝VMware12,創建典型虛擬機。隨后用鏡像的centOS系統文件進行安裝,選擇好鏡像文件后,對虛擬機的硬件進行配置,分配內存和硬盤空間,網絡適配器和光驅/聲卡等其他配置。虛擬機中安裝centOS系統,在操作系統命令行終端,使用Linux命令對系統進行操作。

2.2 Docker安裝配置

在Linux操作系統下安裝Docker。首先打開命令終端檢查本地是否有Linux中的curl命令,如果沒有,輸入sudo yum install curl從yum庫中安裝curl命令。安裝好curl命令后,輸入curl-fsSL http://get.docker.com|sh進入Docker官網獲取最新的Docker安裝包進行安裝,具體操作參見圖1。

圖1 安裝Docker

使用命令Docker version檢查Docker的版本,正常情況下同時顯示client版本和server版本。只顯示client版本,表示Docker運行時沒有超級用戶權限,命令不能執行。使用命令Docker info檢查Docker基本信息,能正確顯示表示Docker已經安裝完成。

3 系統實現

在Linux中使用Vim創建Docker鏡像,編寫Python程序,完成下載和上傳等操作。使用Python語言編寫一段程序放到創建的容器中,測試程序在容器中的運行情況和程序的輸出情況[5]。

3.1 創建鏡像

創建Docker鏡像有很多種辦法,可以在官方網站上使用pull命令下載,也可以用Linux中的Vim命令編寫Dockerfile本地文件系統創建Docker鏡像。分別用兩種方法創建兩個Docker鏡像。

⑴ 在官方網站上使用pull命令下載

在Docker Registry和云平臺上存放的鏡像,都是按照用戶名/鏡像名的方式來存儲的。但有一類鏡像比較特殊,比如centos、ubuntu這類基礎鏡像,經過官方驗證,安全可靠,可以直接通過鏡像名來檢索到。輸入命令:$docker pull busybox,通過Docker命令下載busybox鏡像。執行pull命令的時候要輸入完整的鏡像名稱。

⑵ 使用DockerFile文件創建鏡像

首先創建一個Dockerfile,包含一些創建鏡像的指令。新建一個目錄和一個Dockerfile。

在Dockerfile中每一條指令都創建鏡像的一個層。Dockerfile使用#來注釋,FROM命令說明使用哪個鏡像作為基礎(即父鏡像),已RUN開頭的指令會在創建過程中運行。Dockerfile文件可以通過網上下載或自己編寫,使用git命令從網站clone下載Dockerfile,使用Docker build命令來生成鏡像,如圖2所示。

圖2 創建鏡像

3.2 運行容器

Docker容器可以理解為將一個進程在一個安全封閉的環境中運行。這個環境包含了該進程運行所必須的資源,包括文件系統、系統類庫、shell腳本等等。這個環境默認不運行任何程序,需要在環境中運行一個進程來啟動這一個容器。這個進程是該容器的惟一進程,所以當該進程結束的時候,容器也會完全停止。

創建容器首先要有鏡像文件,通過Docker鏡像文件使用Docker run命令,將鏡像文件運行成為Docker容器。啟動容器,在容器中運行相應的程序以達到快速部署,應用隔離。將之前通過兩種方法構建的boyan_py和busybox兩個鏡像文件運行成容器。

容器運行后,在Python中運行寫好的程序,進行測試,檢測程序的可行性和容器是否已部署完成。

3.3 開源共享

當修改了某一個容器之后,通過執行Docker中的commit命令,可以保存對容器的修改。Docker中保存狀態的過程稱之為committing,為了與舊版本區別,會產生新的版本號。使用docker ps-l命令獲得容器的id,輸入命令:$docker commit 83ae boyan/centos:7.1,把這個鏡像保存為boyan/centos:7.1。無需拷貝完整的id,通常起始的三至四個字母即可區分,如圖3所示。

圖3 容器封裝成鏡像

通過docker push命令可以將某一個鏡像發布到官方的索引網站,分享到這樣的開源平臺,一方面可以重用,另一方面也可以分享使用,提高使用效率,避免重復勞動。docker images命令可以列出所有安裝過的鏡像。

4 調試與運行

4.1 獲取共享的鏡像

在已經安裝好的VMware上虛擬第二臺計算機,配置和第一臺相同。同樣在創建好的虛擬機中安裝Linux系統,登錄之后安裝Docker,配置與之前相同。新建好Docker之后,從registry中pull之前上傳的鏡像文件,pull回本地的鏡像文件名與上傳時一致。

4.2 檢測鏡像的可行性

使用docker run命令運行鏡像文件,使其生成docker容器,在容器中檢驗編寫的python程序,測試容器的性能。執行完docker run命令后,生成73f5a93600f8這個容器,在容器中運行python檢測程序是否可以執行,如圖4所示。

圖4 在容器驗證Python程序運行

5 結束語

Python程序成功運行,表明了運維系統的可行性。本文通過創建鏡像、運行容器和鏡像共享,驗證了Docker容器的快速部署和輕量級的特點,展現了Docker類似集裝箱的技術在運維平臺搭建中的廣泛應用前景[6-7]。

伴隨互聯網時代的發展,程序開發和運維項目日益增多,快捷方便地搭建環境必將成為趨勢。Docker降低了開發人員的繁瑣勞動,簡化了與測試運維人員的配合,方便在持續的集成環境中進行部署和驗證工作。未來還需考慮Docker在Windows系統中的應用,以及共享的安全性,私有庫的身份驗證,安全機制等方面。

參考文獻(References):

[1]陳康,黃炳良.基于openstack云平臺的docker應用[J].軟件,2014.11:73-76

[2]張怡.基于Docker的虛擬化應用平臺設計與實現[D].華南理工大學碩士學位論文,2016.

[3]王飛.基于Docker的研發部署管理平臺的設計與實現[D].北京交通大學碩士學位論文,2015.

[4]劉琳羽,南凱.一種基于Docker的開發者服務平臺設計[J].科研信息化技術與應用,2015.5:65-72

[5]胡湘菲.軟件自動化測試環境搭建中的Docker應用[J].計算機時代,2017.3:26-29

[6]逸凡.從Docker的流行談云計算的走向[N].網絡世界,2015-03-09(014).

[7]E.Mazzoni,S.Arezzini,T.Boccali,A.Ciampa,S.Coscetti,D.Bonacorsi.Docker experience at INFN-Pisa Grid Data Center[J].Journal of Physics:Conference Series,2015.664(2).

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 91精品国产自产91精品资源| 亚洲AV成人一区二区三区AV| 国产亚洲欧美在线人成aaaa| 日韩毛片基地| 亚洲三级片在线看| 六月婷婷激情综合| 欧美区国产区| 91无码网站| 免费精品一区二区h| 欧美福利在线播放| 亚洲精品图区| 欧洲免费精品视频在线| 无码一区18禁| 国内精品久久人妻无码大片高| 四虎影视国产精品| 99九九成人免费视频精品| 国产真实乱了在线播放| 国产第一页亚洲| 国产精品久久久久久影院| 成人免费黄色小视频| 玖玖免费视频在线观看| 一级全黄毛片| 成人福利在线视频| 伊人久热这里只有精品视频99| 日韩精品一区二区三区大桥未久 | 亚洲成肉网| 国产真实二区一区在线亚洲| 色婷婷色丁香| 日本欧美精品| 国产成人一区| 国产精品久线在线观看| 日本三区视频| 一级毛片基地| 国产成人精品亚洲77美色| 四虎永久在线精品国产免费| 中国成人在线视频| 无码AV高清毛片中国一级毛片| 无码人妻免费| 99re热精品视频中文字幕不卡| 91麻豆精品国产高清在线| 亚洲欧美另类色图| 国产精品自在自线免费观看| 亚洲床戏一区| 无码国产伊人| 国产精品无码作爱| 国产精品3p视频| 亚洲成a∧人片在线观看无码| 国产精品制服| 麻豆国产在线观看一区二区| 日韩国产欧美精品在线| 欧美午夜小视频| 四虎精品国产AV二区| 国产精品一区不卡| 国产日韩精品欧美一区喷| 成人福利在线看| 欧美国产日产一区二区| 久996视频精品免费观看| 国产精品自在在线午夜| 成人一区在线| 亚洲日韩Av中文字幕无码| 久久这里只有精品2| 天天摸夜夜操| 日韩在线影院| 超碰91免费人妻| 欧美啪啪精品| 91麻豆精品国产91久久久久| 永久免费无码日韩视频| 91欧美亚洲国产五月天| 91久久夜色精品| 日韩精品中文字幕一区三区| 国产中文一区二区苍井空| 国产一区二区三区精品久久呦| 在线精品亚洲国产| 久久国产V一级毛多内射| 国产成人精品视频一区视频二区| 一级毛片无毒不卡直接观看| 日韩人妻少妇一区二区| 最新亚洲人成网站在线观看| 国产国拍精品视频免费看 | 在线观看国产精品第一区免费| 国产无遮挡裸体免费视频| www.精品视频|