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
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: …亚洲 欧洲 另类 春色| 色综合婷婷| 亚洲av日韩av制服丝袜| 欧美中文字幕在线二区| 69av在线| 永久在线播放| 啪啪免费视频一区二区| 亚洲人妖在线| 国产成人乱无码视频| 日本91视频| 欧美激情成人网| 色AV色 综合网站| 亚洲色欲色欲www网| 亚洲大学生视频在线播放| 亚洲人成人伊人成综合网无码| 国产第一页屁屁影院| 老色鬼久久亚洲AV综合| 在线国产91| 国产免费羞羞视频| 高清无码一本到东京热| 精品亚洲欧美中文字幕在线看| 日韩高清无码免费| 亚洲欧洲日本在线| 午夜视频免费试看| 亚洲第一黄色网| 亚洲人免费视频| 久久精品这里只有国产中文精品 | 男人天堂亚洲天堂| 久久精品91麻豆| 日本在线国产| 伊在人亚洲香蕉精品播放| 又爽又大又黄a级毛片在线视频| 成年人免费国产视频| 亚洲综合色吧| 国产91在线|日本| 最新国产精品第1页| 精品伊人久久大香线蕉网站| 99热这里只有精品免费| 色屁屁一区二区三区视频国产| 亚洲精品欧美日本中文字幕| 国产成人精品高清在线| 成年免费在线观看| 免费全部高H视频无码无遮掩| 国产成人乱无码视频| 国产h视频免费观看| 日本免费精品| 99视频在线免费| 大陆精大陆国产国语精品1024| 曰韩人妻一区二区三区| 亚洲无码不卡网| 毛片久久久| 在线精品亚洲国产| 免费无码一区二区| 国产精品久久久精品三级| 国产精品自拍露脸视频| 91精品国产自产91精品资源| 一级不卡毛片| 国产精品免费久久久久影院无码| 亚洲第一成年免费网站| 国产精品9| 色哟哟色院91精品网站| 久久精品人人做人人爽97| 99人妻碰碰碰久久久久禁片| 亚洲v日韩v欧美在线观看| 久久久久青草大香线综合精品| 在线观看国产精品第一区免费 | 日本人妻一区二区三区不卡影院| 国产精品成人久久| 国产精品视频999| 日韩一二三区视频精品| 亚洲国产理论片在线播放| 久久这里只精品热免费99| 国产欧美日韩另类精彩视频| 米奇精品一区二区三区| 热99精品视频| 亚洲无码电影| 国产麻豆福利av在线播放| 国产亚洲精品在天天在线麻豆| 日本高清在线看免费观看| 成年人视频一区二区| 亚洲综合香蕉| 黄色在线不卡|