1. 程式人生 > 實用技巧 >Docker 測試場景領域應用剖析

Docker 測試場景領域應用剖析

一、思考??

1.想搭建一個網站,如何做?

  • LNMP架構(Linux + nginx + mysql +php/python)
  • 安裝各種軟體以及各自依賴環境
  • 引數配置、編碼、提測、部署上線、運維

2.網站想換位置,遷移至阿里雲?

3.如何實現資料備份、版本更新、分散式部署、高可用性?

二、虛擬化技術

1.為什麼要使用虛擬化技術?

  • 資源合理高效利用
  • 節省成本

2.傳統虛擬化技術(主機級虛擬化=VMware)

型別—:

  • 在硬體裝置層上直接進行模擬,從而實現多個作業系統

型別二:

  • GuestOS宿主機上執行VMM。
  • VMM執行上客戶機 (HOST os)
  • Host OS對底層硬體進行呼叫
  • 當前解決方案
    • 開源  
      • OpenStack    
      • KVM    
    • 商業  
      • VMare vshere    
      • VMware Fusion    

3.系統級虛擬化技術(容器級虛擬化=Docker)

  • 在作業系統核心上,允許多個隔離的使用者空間(容器)(user space instance)
  • 無需模擬硬體層
  • 共享同一個Host oS宿主機的核心

4.container 容器的核心技術

  • CGroup(譯:c歌如破)

    • 限制容器的資源使用情況  
    • 排程多少個CPU時間片、佔用多大記憶體、多少磁碟io等  

  • NameSpace(內幕.撒潑)名稱空間
  • chroot
    • 檔案系統隔離 
    • 比如: 不同的分割槽、不同的掛載點、ext3、ext4,容器之間的檔案系統需要使用 chroot

5.docker vs vmware(or virtualbox) = 容器 和 虛擬機器 的區別?

1、共用核心是docker裡面資源佔用記憶體少的原因,為啥共用核心了記憶體就能佔用很少

Linux 的核心 (kemel) 一般有幾百兆,如果是虛擬機器VMware 安裝各種虛擬機器的時候,虛擬機器與虛擬機器之間只要你是Linux 系統,那麼他的核心就會佔用幾百兆;

如果使用 容器,容器與容器之間因為它有 公用宿主機 核心,所以他從尺寸上面至少就會少一百兆到二百兆;

我們每一個他的映象安裝包,它是經過非常大的精簡,很大程度的壓縮,導致映象和容器在執行的時候,它的尺寸是非常小的,可能是映象安裝包的十分之一或百分之一,就是尺寸非常精簡;

2、jenkins 的持續整合 和 這裡講的 CI/CD 是同一個嗎?

3、測試領域:搭建測試環境,具體是如何應用的呢

  

  

三、docker介紹

1.什麼是容器?

  

  

⒉什麼是docker?

是用於建立、部署、執行應用程式的工具

微服務、CI/CD

3.為什麼使用docker?

  

  • 開發領域
    • 使用docker搭建開發環境
  • 測試領域
    • 搭建測試環境
  • 運維領域
    • 運維環境或者工具

5.docker架構

  

  • Docker platform
  • Docker Engine (c/s架構)
    • a server process  
    • a client cli  
    • a rest api interface  

  

  • Docker architecture
  • Docker objects
    • Docker:類似汽車的引擎
    • Dockerfile:相當於汽車藍圖(圖紙)
    • Docker image 映象:類似於樣本車
    • Docker container容器:類似於汽車的零部件,可以組裝成一輛汽車
    • Docker Registry:類似與4s店
    • Docker compose:類似於老司機,可以開很多車
    • Docker volume:類似於汽車的郵箱
  • Docker swarm:類似於交通樞紐,來控制、管理不同的汽車(docker)
  • Docker Hub (Docker Registry)

四、安裝docker

1.在 Windows 中安裝 docker

官方安裝教程::https://docs.docker.com/docker-for-windows/

2.在 linux 中

安裝 docker 在 Centos 中安裝docker:

https://docs.docker.com/install/linux/docker-ce/centos/

在 ubuntu 中安裝 docker:

https://docs.docker.com/install/linux/docker-ce/ubuntu/

大佬安裝步驟https://www.cnblogs.com/keyou1/p/11511067.html

3、線上練習docker

五、基本操作

  

1.docker image

  • 列出映象
  • 下載映象
  • 刪除映象
  • 檢視映象詳細資訊

2.docker container·執行容器

  • 列出容器
  • 檢視容器的程序和資源利用情況
  • 停止/開啟容器
  • 暫停/啟動容器
  • 刪除容器

六、Docker應用場景營

  • 使用 Docker 快速部署禪道
  • 使用 Docker 部署個人部落格
  • 使用 Docker 一鍵部署測開平臺
  • 使用 Docker 搭建分散式 web 自動化測試環境
  • 使用 Docker 實現 CI/CD

七、DevOps

1.簡介

  • 微服務
  • 容器化
  • CI/CD

2.CI/CD

  • Cl
    • 持續整合  
  • CD
    • 持續交付  
  • CD
    • 持續部署  

九、K8S

⒉特性

  • 自動裝箱
    • 基於資源依賴或其他約束,可完成容器自動部署
  • 自我修復
    • 有自愈能力  
    • 容器故障,直接移除,重建
    • 更關注整體,不關注單個容器  

  • 水平拓展
    • 可任意建立N個功能一致的容器(只要物理資源足夠)  
      • 實現高效能、高可用性    
    • —個容器不夠,再起一個  
  • 負載均衡
  • 自動釋出、回滾
  • 配置、密碼管理
  • 儲存編排
  • 批量處理執行

*******請大家尊重原創,如要轉載,請註明出處:轉載自:https://www.cnblogs.com/shouhu/,謝謝!!*******