【Docker】Docker简介_运行原理

1、简介

1.1基本概念

  • 容器:容器是Docker的基本部署单元。它是一个轻量级的、独立的运行时环境,包含应用程序及其相关依赖。容器利用Linux内核的命名空间和控制组技术,实现了隔离性和资源管理,使得应用程序在不同的容器中运行不会相互影响。
  • 镜像:镜像是用于创建容器的模板。它包含了一个完整的文件系统,其中包括应用程序运行所需的所有文件、依赖和配置信息。镜像是不可变的,通过Docker镜像可以创建多个相同的容器实例。
  • 仓库:仓库是用于存储和分发Docker镜像的地方。最常用的公共镜像仓库是Docker Hub,上面有大量的官方和社区共享的镜像。此外,还可以搭建私有的镜像仓库,用于存放自己的镜像

1.2用途

  1. 提升开发效率:Docker可以快速搭建开发环境,节省大量时间。通过Docker,开发者可以轻易地让多个服务在有限的内存环境中运行。
  2. 构建环境:对于需要构建源码的场景,Docker可以提供一个预配置好的环境,省去了逐一安装软件的繁琐过程。
  3. 微服务:Docker支持微服务架构,可以将每个服务打包为一个Docker镜像并使用docker-compose来模拟生产环境。
  4. 自动测试:Docker可以与自动化测试紧密集成,通过镜像快速部署测试环境,提高测试效率。
  5. 部署过程:Docker镜像可以实现自我部署,降低硬件要求和应用环境之间的耦合度。
  6. 持续部署:Docker天生适合持续集成/持续部署,可以简化部署流程,加速应用发布。

1.3组成部分

  • DockerClient客户端:用于与Docker守护进程通信,提供用户与Docker的交互界面。
  • Docker Daemon守护进程:在宿主机上运行,接收来自DockerClient的请求,并管理Docker对象(如镜像、容器等)。
  • Docker Image镜像:如上所述,是创建容器的模板。
  • Docker Container容器:如上所述,是Docker的基本部署单元。

1.4Docker 架构

  • Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
  • Docker 容器通过 Docker 镜像来创建。
  • 容器与镜像的关系类似于面向对象编程中的对象与类。
Docker面向对象
容器 对象
镜像

2、运行原理

2.1Docker的运行流程

  1. 安装与配置:首先,用户需要在宿主机上安装Docker软件,并进行必要的配置,如设置Docker仓库源、安装Docker软件包等。
  2. 获取镜像:用户可以通过Docker Hub或其他Docker仓库获取所需的镜像。这些镜像可以是官方提供的,也可以是用户自己创建的。
  3. 创建容器:使用docker run命令,基于指定的镜像创建一个新的容器实例。Docker会加载镜像中的文件系统,并为容器分配所需的资源(如CPU、内存、网络等)。
  4. 运行容器:容器创建后,Docker会启动容器中的进程,并运行应用程序。容器与宿主机之间通过命名空间(Namespace)和控制组(Cgroup)技术实现隔离,确保容器内的进程不会干扰到宿主机或其他容器的运行。
  5. 管理容器:用户可以使用Docker命令(如docker startdocker stopdocker restart等)来管理容器的运行状态。同时,Docker还提供了丰富的API接口,允许用户通过编程方式管理容器。

2.2核心组件

  1. Docker Client:Docker客户端是用户与Docker守护进程通信的桥梁。用户通过Docker客户端发送请求给Docker守护进程,后者负责执行相应的操作。
  2. Docker Daemon(守护进程):Docker守护进程是Docker架构中的主体部分,它负责接收Docker客户端的请求,并管理Docker对象(如镜像、容器等)。Docker守护进程提供了Docker Server的功能,使其能够接受来自客户端的请求。
  3. Docker Engine:Docker引擎是Docker的核心组件之一,它包含了Docker守护进程、客户端工具(docker命令)和REST API。Docker引擎负责执行Docker内部的一系列工作,如创建容器、运行应用程序等。
  4. Docker Registry:Docker仓库是存储和分发Docker镜像的地方。用户可以从Docker仓库中下载所需的镜像,也可以将自己的镜像推送到仓库中供其他人使用。

  • 30
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值