docker简述

一、容器运行的要素

1、容器引擎:容器引擎是容器技术的核心组件,负责创建、管理和执行容器。常见的容器引擎包括 Docker 和 Kubernetes 等。

2、容器隔离和资源管理:这是通过 namespaces 、chroot和 cgroup 等技术实现的。Namespacing 提供了进程隔离和独立操作相同系统资源的能力,而 cgroup 则用于限制和管理容器中进程的行为,为容器提供资源管理和控制的功能。

  1. 资源管理:CGroup(Control Group)是Linux内核提供的一种机制,用于对进程和任务进行分组和管理。CGroup可以帮助限制、衡量和分配系统资源,如CPU、内存、磁盘IO、网络带宽等,以便更好地控制和管理系统性能。
  2. 容器隔离: Namespaces(命名空间)是Linux内核提供的一种机制,用于隔离和限定进程的资源视图。通过使用命名空间,可以在同一个系统上创建独立、互相隔离的环境,使进程在各个命名空间中运行时只能看到和访问自己所属的资源。包括如下:
    PID 命名空间:每个进程在该命名空间中有自己独立的进程
    Mount 命名空间:每个命名空间都有自己的挂载点表,使得在不同命名空间中挂载的文件系统不会相互干扰。
    Network 命名空间:每个命名空间都有自己的网络设备、IP地址和端口空间,从而实现网络隔离,不同命名空间中的进程无法直接通信。
    UTS 命名空间:每个命名空间都有自己的主机名和域名,使得不同命名空间中的进程拥有独立的主机名和域名。
    IPC 命名空间:每个命名空间都有自己的进程间通信(IPC)资源,如共享内存、消息队列和信号量,使得不同命名空间中的进程无法直接访问其他命名空间的 IPC 资源。
    User命名空间:User命名空间用于隔离用户和用户组标识符(UID和GID)
  3. 容器隔离:chroot将特定目录作为系统的根目录,从而隔离这个进程及其子进程对其他目录的访问。chroot命令通过修改根目录,限制了进程对文件系统的可见性,增加了安全性。

3、容器镜像:容器镜像是容器的可重用软件包,包含了应用程序及其依赖项和配置信息。容器镜像是容器引擎和容器隔离的重要组成部分,它们共同构成了容器的运行时环境。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值