• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Docker的Web應(yīng)用部署與實(shí)現(xiàn)

      2021-09-19 10:14:50孫雅妮
      中阿科技論壇(中英文) 2021年9期
      關(guān)鍵詞:鏡像命令虛擬化

      孫雅妮

      (四川信息職業(yè)技術(shù)學(xué)院,四川 廣元 628040)

      1 概述

      當(dāng)前的Web應(yīng)用多采用LAMP架構(gòu),LAMP架構(gòu)通常包括Linux操作系統(tǒng)、Apache、MariaDB和PHP。服務(wù)器處理一次Web頁面請求的過程是由Apache接收請求,通過CGI接口訪問PHP的應(yīng)用程序,然后由PHP應(yīng)用程序調(diào)用PHP解釋器執(zhí)行PHP代碼,接下來由PHP程序訪問調(diào)用數(shù)據(jù)庫,最后將結(jié)果反饋給Web頁面。

      實(shí)現(xiàn)LAMP架構(gòu)的傳統(tǒng)做法是將服務(wù)器資源進(jìn)行虛擬化,基于虛擬化資源池創(chuàng)建虛擬機(jī),在虛擬機(jī)上部署Web和數(shù)據(jù)庫服務(wù)。傳統(tǒng)的虛擬機(jī)技術(shù)與Docker相比,前者明顯占用了較多的系統(tǒng)資源,而Docker在啟動速度、信息隔離和資源消耗方面的優(yōu)勢十分明顯[1-2]。本文提出一種基于容器實(shí)現(xiàn)LAMP,采用在Docker中基于LAMP架構(gòu)部署Web應(yīng)用,提升Web應(yīng)用的部署效率,降低物理資源消耗。

      2 Docker簡介

      根據(jù)官方定義,Docker是以Docker容器為資源分割和調(diào)度的基本單位,封裝整個(gè)軟件運(yùn)行環(huán)境,是為開發(fā)者和系統(tǒng)管理員設(shè)計(jì)的,是一個(gè)用于構(gòu)建、發(fā)布和運(yùn)行分布式應(yīng)用的平臺[3]。它是一個(gè)開源的容器引擎,可以方便地對容器進(jìn)行管理,或者說Docker是一個(gè)開源的輕量級虛擬化容器管理引擎。它由Docker Inc.公司(前dotC1oud公司,PaaS市場中的老牌提供商)的團(tuán)隊(duì)編寫、發(fā)行,并將其源代碼放在GitHub上。Docker基于Go語言開發(fā)并遵從Apache2.0協(xié)議[4]。

      Docker提出的“Build,Ship and Run Any APP,Anywhere”就是Docker最具競爭力的優(yōu)勢。它通過將運(yùn)行環(huán)境和應(yīng)用程序打包到一起,解決部署應(yīng)用對環(huán)境依賴的問題,真正做到快平臺的分發(fā)和使用[5]。Docker是容器化技術(shù)的一種實(shí)現(xiàn),它與傳統(tǒng)的虛擬機(jī)架構(gòu)有所不同。兩種架構(gòu)對比如圖1所示。

      圖1 容器和傳統(tǒng)虛擬機(jī)架構(gòu)對比

      從對比圖1可以看出,傳統(tǒng)虛擬機(jī)架構(gòu)中每一個(gè)VM都會運(yùn)行一個(gè)完整的Guest OS,多個(gè)服務(wù)的部署需要多臺VM。容器省略了操作系統(tǒng),整個(gè)層級更簡化,可以在單個(gè)Host OS上運(yùn)行多個(gè)應(yīng)用,共用宿主機(jī)的操作系統(tǒng)和運(yùn)行時(shí)庫[6]。Docker技術(shù)的應(yīng)用優(yōu)勢主要在于簡化部署、虛擬高效化、微服務(wù)化以及易于遷移和擴(kuò)展四個(gè)方面[7]。

      3 基于Docker的Web應(yīng)用部署與實(shí)現(xiàn)

      3.1 Web應(yīng)用介紹

      本文要部署的Web應(yīng)用是云計(jì)算虛擬仿真實(shí)訓(xùn)平臺,該實(shí)訓(xùn)平臺是基于LAMP(Linux+Apache+MariaDB+PHP)實(shí)現(xiàn)的,其中Linux采用CentOS 7以上系統(tǒng)。

      基于Docker搭建云計(jì)算虛擬仿真實(shí)訓(xùn)平臺需要首先在CentOS 7宿主機(jī)上安裝Docker Engine完成容器環(huán)境的部署,其次部署數(shù)據(jù)庫容器和Web容器,然后配置Web容器能夠訪問數(shù)據(jù)庫容器,最后部署和發(fā)布云計(jì)算虛擬仿真實(shí)訓(xùn)平臺這個(gè)Web應(yīng)用。基于Docker的Web應(yīng)用架構(gòu)如圖2所示。

      圖2 基于Docker的Web應(yīng)用架構(gòu)圖

      3.2 環(huán)境準(zhǔn)備

      安裝一臺Host主機(jī),本文中Host主機(jī)選用CentOS 7.4操作系統(tǒng);配置此主機(jī)的網(wǎng)絡(luò),使得能夠連通互聯(lián)網(wǎng)。

      3.2.1 Docker安裝

      配置Docker的yum源,并且查看所有倉庫中所有Docker版本,選擇社區(qū)版安裝,執(zhí)行以下命令。

      安裝并啟動Docker,完成后查看Docker版本,執(zhí)行以下命令。

      3.2.2 配置Docker鏡像加速器

      默認(rèn)情況下,Docker從Docker Hub上下載鏡像,但國內(nèi)訪問Docker Hub的速度很不穩(wěn)定,有時(shí)甚至出現(xiàn)連接不上的情況。文中為Docker配置網(wǎng)易鏡像加速器,從而解決鏡像下載慢的問題。網(wǎng)易鏡像加速器的配置是創(chuàng)建或修改/etc/docker/daemon.json文件,文件內(nèi)容修改如下:

      daemon.json文件修改完成后,需要重新啟動Docker。

      3.3 基于CentOS鏡像部署數(shù)據(jù)庫

      (1)先從Docker Hub中拉取CentOS鏡像,再創(chuàng)建數(shù)據(jù)庫容器的數(shù)據(jù)卷mysqldata,并基于CentOS鏡像創(chuàng)建數(shù)據(jù)庫容器,執(zhí)行以下命令,結(jié)果如圖3所示。

      圖3 創(chuàng)建數(shù)據(jù)庫容器

      (2)由圖3可知,數(shù)據(jù)庫容器縮略編號為b56ac22b6c62,進(jìn)入容器安裝、配置及初始化數(shù)據(jù)庫執(zhí)行以下命令。

      (3)創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)庫用戶,數(shù)據(jù)庫名為yun,結(jié)果如圖4所示。

      圖4 創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫用戶

      3.4 基于CentOS鏡像部署Web服務(wù)器

      (1)創(chuàng)建Web容器的數(shù)據(jù)卷webdatadata,并基于CentOS鏡像運(yùn)行容器,執(zhí)行以下命令,結(jié)果如圖5所示。

      圖5 創(chuàng)建Web容器

      (2)從圖5可知,Web容器縮略編號為elec087e0fb,進(jìn)入容器安裝并且開啟HTTP服務(wù),測試Web服務(wù)是否正常運(yùn)行執(zhí)行以下命令。

      3.5 部署和發(fā)布Web應(yīng)用

      (1)將Web應(yīng)用壓縮包yun.zip拷貝至數(shù)據(jù)卷webdata中并解壓,進(jìn)入Web容器,安裝PHP執(zhí)行以下命令。

      (2)在Web容器中配置連接數(shù)據(jù)庫文件conn.php,文件內(nèi)容如下。

      (3)在數(shù)據(jù)庫容器中上傳并導(dǎo)入數(shù)據(jù)庫文件,執(zhí)行以下命令。

      (4)在與Host主機(jī)網(wǎng)絡(luò)連通的任何一臺主機(jī)的瀏覽器中輸入Host的IP地址進(jìn)行測試,論文中使用的IP地址為192.168.59.153。登錄http://192.168.59.153/yun/login.html,如圖6所示。

      從圖6可以看出,Web應(yīng)用發(fā)布成功。值得注意的是,因?yàn)閯?chuàng)建Web容器時(shí)將容器的80端口映射到了Host主機(jī)的80端口,所以訪問Host主機(jī)就相當(dāng)于訪問Web容器的Web應(yīng)用。

      圖6 Web應(yīng)用發(fā)布測試

      4 結(jié)語

      利用Docker來部署LAMP和利用傳統(tǒng)虛擬機(jī)來部署LAMP相比,容器啟動服務(wù)的速度更快,而且容器相對虛擬機(jī)更輕量級,單個(gè)Host主機(jī)可以運(yùn)行多個(gè)容器,而傳統(tǒng)虛擬機(jī)一般一個(gè)虛擬機(jī)部署單個(gè)服務(wù),無法擴(kuò)展性能,并且容器的虛擬化性能接近于原生。

      猜你喜歡
      鏡像命令虛擬化
      只聽主人的命令
      鏡像
      基于OpenStack虛擬化網(wǎng)絡(luò)管理平臺的設(shè)計(jì)與實(shí)現(xiàn)
      電子制作(2019年10期)2019-06-17 11:45:10
      鏡像
      小康(2018年23期)2018-08-23 06:18:52
      對基于Docker的虛擬化技術(shù)的幾點(diǎn)探討
      電子制作(2018年14期)2018-08-21 01:38:20
      移防命令下達(dá)后
      虛擬化技術(shù)在計(jì)算機(jī)技術(shù)創(chuàng)造中的應(yīng)用
      電子測試(2017年11期)2017-12-15 08:57:56
      這是人民的命令
      存儲虛擬化還有優(yōu)勢嗎?
      鏡像
      小康(2015年4期)2015-03-31 14:57:40
      唐河县| 鹤壁市| 石渠县| 德州市| 新田县| 庄河市| 迁安市| 林口县| 兴城市| 萍乡市| 驻马店市| 西城区| 尼勒克县| 太和县| 威远县| 台江县| 乌苏市| 锦屏县| 阳朔县| 阳原县| 吉林省| 赣州市| 广西| 镇坪县| 大理市| 嘉祥县| 雷州市| 大田县| 临潭县| 长寿区| 农安县| 长葛市| 西乡县| 宁陵县| 怀宁县| 临安市| 浮山县| 马鞍山市| 吉木乃县| 西华县| 信阳市|