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/,谢谢!!******* 

原文地址:https://www.cnblogs.com/shouhu/p/14201055.html