<span id="h9j9p"><th id="h9j9p"><th id="h9j9p"></th></th></span>
<sub id="h9j9p"><listing id="h9j9p"></listing></sub>

    <noframes id="h9j9p"><form id="h9j9p"></form>
    <form id="h9j9p"></form>
      <sub id="h9j9p"><dfn id="h9j9p"><menuitem id="h9j9p"></menuitem></dfn></sub>

      <form id="h9j9p"><nobr id="h9j9p"><meter id="h9j9p"></meter></nobr></form>
        400-650-7353

        精品課程

        您所在的位置:首頁 > IT干貨資料 > 軟件測試 > 【軟件測試基礎知識】Docker容器化技術在測試平臺部署中的應用

        【軟件測試基礎知識】Docker容器化技術在測試平臺部署中的應用

        • 發布: 軟件測試培訓
        • 來源:軟件測試干貨資料
        • 2021-08-25 10:48:24
        • 閱讀()
        • 分享
        • 手機端入口

        當前,虛擬化技術在互聯網后端應用非常廣泛,它可以優化資源利用、方便跨域共享、實現資源隔離。對于企業中的測試人員來說,也不可避免地會接觸到,所以有必要加深對它的了解和熟悉。當測試人員職業技能發展到自動化測試、測試開發層次,相應的工作也很可能會從寫腳本、搭建框架,升級到開發測試平臺,如何高效地實現測試平臺的部署、維護,也成為測試人員需要面對的一個問題。本文就從Docker的原理開始,介紹一下Docker容器化技術在測試平臺部署中的應用。

        虛擬化常用的技術形式,有主機級虛擬化和容器級虛擬化兩種形式。

        我們通常使用的虛擬機(如VMWare WorkStation),就是典型的主機級虛擬化的形式。在宿主機硬件平臺上,先安裝宿主機操作系統,然后在操作系統中安裝虛擬機管理器。在這個虛擬機管理器的基礎之上,可以虛擬出多個硬件平臺(如果你的電腦資源足夠),然后每個硬件平臺上再安裝自己的操作系統內核,構造自己的用戶空間。這種情況下,不同虛擬機之間的隔離性是非常好的,但過于重量級,消耗大量軟硬件資源。

        Linux內核的不斷演進,使容器級虛擬化成為現實。容器級虛擬化,在宿主機硬件平臺的Linux操作系統中,增加一個隔離環境管理器,借助這個隔離環境管理器,直接分出若干個用戶空間。這些用戶空間中部分資源共享,其他資源則實現徹底的隔離。

        容器級虛擬化,是借助于Linux內核的三大技術來實現的。這三大技術就是Chroot、名稱空間和CGroups。

        Chroot是操作系統級的虛擬機,它可以將指定位置作為/根目錄,將程序運行限制在指定根目錄中,從而實現操作系統中虛擬出多個根目錄,實現了可視化的隔離。

        名稱空間總共有Mount(文件系統)、UTS(主機名、域名)、IPC(信號量、消息隊列、共享內存)、PID(進程編號)、NetWork(網絡設備、網絡棧、端口等)、User(用戶、用戶組)六個。從Linux2.4.19開始,直到3.8版本,依次實現了對這六個名稱空間的隔離。

        CGroups,用來為隔離的用戶空間按比例分配CPU、內存等資源。

        在以上技術的支撐下,通過系統調用,即可實現容器級虛擬化。但對普通用戶來說,系統調用難度太大,于是在Sourceforge上產生了一個叫做LXC的項目。LXC是LinuX Container的簡稱,它通過二次開發,把系統調用和操作封裝成了一組工具。它最早把完整的容器技術用一組工具和模板實現。但它也存在一些問題,如模板需要高度定制,文件和數據遷移困難,對容器批量創建的支持有限,隔離性不夠好。于是,在2013年初,在LXC基礎上,dotCloud公司推出了開源項目Docker,讓用戶不用關心容器內部的管理,操作更加簡捷。

        Docker不是容器,容器是Linux內核支持的功能,而Docker是容器化的簡化工具。Docker通過鏡像技術 ,把用戶空間所需文件整體編排好,打包成鏡像文件,放在一個集中的倉庫。生成用戶空間時,連到服務器上,找到鏡像,拖到本地,基于鏡像啟動容器。這極大地降低了容器的使用難度。在一個容器中只運行一個主進程,進程終止,容器終止。分發部署容易,真正實現了“一次編寫到處運行”。

        Docker架構如下:

        (1)Docker 守護進程(Daemon)

        Docker守護進程(dockerd)監聽Docker API請求,并管理Docker對象,如鏡像(Images)、容器(Containers)、網絡(Networks)和卷(Volumes)。守護進程還可以與其他守護進程通信來管理Docker服務。

        (2)Docker 客戶端(Client)

        Docker客戶端(Docker)是Docker用戶與Docker交互的主要方式。當你使用像docker run這樣的命令時,客戶端將這些命令發送給dockerd,由dockerd執行它們。docker命令會使用到docker API。Docker客戶端可以與多個守護進程通信。

        (3)Docker 倉庫(registry)

        Docker Registry存儲Docker鏡像。在這些Registry中,Docker Hub是一個任何人都可以使用的公共注冊中心,默認情況下,Docker被配置為在Docker Hub上查找鏡像。您甚至可以運行自己的私有Registry。當你使用docker pull或docker run命令時,所需的鏡像會從你配置的Registry中提取出來。當你使用docker push命令時,你的鏡像會被推送到你配置的Registry中。Registry包含很多個Repository,例如,我們可以在Docker hub上查看其下的Repository,它們通常按用戶、鏡像中的程序劃分。

        Docker安裝步驟如下:

        (1)如果已經安裝舊版,可以卸載:

        yum remove docker docker-common docker-selinux docker-engine

        (2)安裝基礎依賴

        yum install -y yum-utils device-mapper-persistent-data lvm2

        (3)增加docker yum源

        yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

        (4)如果連接不上,可以使用以下中國科學技術大學的yum源

        yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

        (5)如果報錯,刪除對應文件

        cd /etc/yum.repos.d/

        刪除mirrors.ustc.edu.cn相關文件后再增加yum源。

        (6)查看docker版本

        yum list docker-ce --showduplicates

        (7)安裝docker

        yum install -y docker-ce

        (8)如果需要安裝指定版本,如下

        yum install -y docker-ce-18.06.3.ce

        (9)啟動docker

        systemctl start docker

        (10)設置開機啟動docker

        systemctl enable docker

        (11)驗證安裝

        學習疑問申請解答
        您的姓名
        您的電話
        意向課程
         

        中公優就業

        IT小助手

        掃描上方二維碼添加好友,請備注:599,享學習福利。

        >>本文地址:
        注:本站稿件未經許可不得轉載,轉載請保留出處及源文件地址。

        推薦閱讀

        優就業:ujiuye

        關注中公優就業官方微信

        • 關注微信回復關鍵詞“大禮包”,享學習福利
        QQ交流群
        在線疑問解答
        (加群備注“網站”)
        IT培訓交流群 加入群聊 +
        軟件測試 加入群聊 +
        全鏈路UI/UE設計 加入群聊 +
        Python+人工智能 加入群聊 +
        互聯網營銷 加入群聊 +
        Java開發 加入群聊 +
        PHP開發 加入群聊 +
        VR/AR游戲開發 加入群聊 +
        大前端 加入群聊 +
        大數據 加入群聊 +
        Linux云計算 加入群聊 +
        優就業官方微信
        掃碼回復關鍵詞“大禮包”
        享學習福利

        測一測
        你適合學哪門IT技術?

        1 您的年齡

        2 您的學歷

        3 您更想做哪個方向的工作?

        獲取測試結果
         
        課程資料、活動優惠 領取通道
         
         
        亚洲日韩中文字幕一区
        <span id="h9j9p"><th id="h9j9p"><th id="h9j9p"></th></th></span>
        <sub id="h9j9p"><listing id="h9j9p"></listing></sub>

          <noframes id="h9j9p"><form id="h9j9p"></form>
          <form id="h9j9p"></form>
            <sub id="h9j9p"><dfn id="h9j9p"><menuitem id="h9j9p"></menuitem></dfn></sub>

            <form id="h9j9p"><nobr id="h9j9p"><meter id="h9j9p"></meter></nobr></form>