Docker 測試場景領域應用剖析
阿新 • • 發佈:2020-12-28
一、思考??
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
- katacoda網站:
https://www.katacoda.com/
- 每10分鐘一個小練習
- Play with Docker網站:
https://labs.play-with-docker.com/
- 註冊docker賬號並登陸
- 每次能使用4個小時,之後會被清空
五、基本操作
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/,謝謝!!*******