软件测试之docker系列知识

一、容器的概念

        1. 什么是docker

          docker是一个开源的容器引擎技术,将程序和依赖都打包,可以部署到任何环境上,用于开发、交付和部署。

        1. 什么是容器,是怎么由来的

           容器是宿主机的一种特殊的进程,直接运行到操作系统上,容器是由镜像运行产生的。

            左图是虚拟化技术(虚拟机),右图是容器技术

            server:物理服务器     Host os:操作系统       Hypervisor

            bins:二进制工具         Libs:库文件、链接等

          (1)容器是在宿主机操作系统上使用Cgroups,Namespaceses技术创建出来具有边界的特殊进程,多个容器共用一个内核

            <1> Chroot: 在一个宿主机上运行多个容器,且容器之间相互个离,那么第一个就需要系统库文件的依赖,对于一个容器而言,需要将其需要的系统文件单独复制出来一份,放到指定目录,并且需要让进程认为这就是根目录,而不是去调用宿主机系统上的库文件。Chroot就是一个切换根目录的方式。

             <2>NameSpaces: Linux操作系统内核从底层实现了为各个进程创建独立用户空间的功能,不同用户空间似于一个个独立的虚拟机系统,用户空间内部进程不能感知到其它用户空间中的进程状态。内核提供了六种Namespaces:PID、NET(网络协议,网络协议栈,端口等)、IPC(消息队列,信号量、共享内存这些在同一namespace中可以共享)、mount(挂载隔离点)、UTS(主机名和主机域)、User(用户隔离。运行进程的用户和组)

              <3>Cgroups: Cgroups技术针对进程,对各个容器实现硬件资源限制,比如CPU,Memory,diskio     

        2. docker 技术的优点相比较虚拟机

            (1) 占用磁盘空间小:几十KB

            (2) 启动速度快,几秒

            (3) 直接运行到一个linux内核上,共享一个linux内核

            (4) 并发的话,可以支持几百个上千个容器,性能接近于宿主机的进程

     3. docker的应用场景

         持续集成和持续部署、微服务架构使用、跑一次任务或者定时任务

二、docker内部架构

        1. docker组成部分以及联系

              

           (1)Docker 客户端(Client): Docker 客户端通过命令行与 Docker 主机的守护进程通信。

           (2)Docker 主机(Host):一个物理或者虚拟的机器用于执行 Docker 守护进程和容器

           (3)Docker Registry

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一种开源的容器化平台,可以帮助开发者打包应用程序和其依赖项,并将其部署到任何目标环境中。它提供了一种轻量级的虚拟化技术,可以在不同的操作系统上运行,包括Linux、Windows和macOS。以下是一些Docker的理论知识: 1. 容器:Docker使用容器来隔离应用程序及其依赖项。容器是一个独立的运行环境,其中包含了应用程序及其运行所需的所有组件,如代码、运行时环境、系统工具、系统库等。 2. 镜像:镜像是用于创建容器的模板。镜像包含了一个完整的文件系统,其中包含了应用程序及其依赖项的所有内容。通过镜像,可以快速地创建和部署多个相同的容器。 3. 仓库:Docker仓库是用于存储和分享镜像的地方。Docker Hub是最常用的公共仓库,其中包含了大量的官方和社区贡献的镜像。此外,还可以搭建私有仓库来存储自己创建的镜像。 4. Dockerfile:Dockerfile是用于定义镜像构建过程的文本文件。通过在Dockerfile中编写一系列指令,可以指定镜像的基础操作系统、安装软件包、配置环境变量等。 5. 容器编排:Docker提供了一些容器编排工具,如Docker Compose和Docker Swarm,用于管理和编排多个容器的部署。通过这些工具,可以定义和管理容器之间的关系、资源分配、服务发现等。 通过使用Docker,开发者可以将应用程序及其依赖项打包成一个独立的容器,方便地在不同的环境中进行部署和运行。它提供了一种快速、可靠、可重复的软件交付方式,使得应用程序的开发、测试和部署变得更加高效和可管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值