浅谈Docker原理

文章目录

前言

Docker 是一种容器化技术,它通过利用 Linux 内核提供的虚拟化技术和隔离机制,实现了更轻量级的应用程序虚拟化方案

命名空间

Docker 使用了 Linux 的命名空间特性,包括 mount、PID、network 等,这些命名空间将不同的资源隔离开来,使得容器内的进程看起来像在独立的环境中运行,从而降低了容器间的干扰。

控制组

Docker 利用 Linux 的控制组(cgroup),可以对容器内的资源进行限制和管理,比如 CPU、内存、磁盘等。通过使用 cgroup,Docker 可以为容器分配适量的资源,并限制其使用的资源量,保障容器的性能和稳定性

分层存储

Docker 使用分层存储的方式来管理镜像。镜像可以通过多个只读层叠加在一起,形成一个可读写的容器层。这种分层存储的方式,使得镜像可以共享公共的基础层,减少了占用存储空间的同时也提高了镜像的复用性和下载速度

镜像和容器

Docker 镜像是一个只读的模板,包含了运行应用程序所需的文件系统和软件。容器是基于镜像创建的一个运行实例,它可以被启动、停止、删除和暂停。一个镜像可以同时创建多个容器运行

Docker Engine

Docker Engine 是 Docker 的核心组件,负责管理容器的生命周期,包括创建、运行、停止和删除容器。它也负责监控容器的状态,并提供了一系列的命令行工具和 API,用于与 Docker 进行交互

Docker Registry

Docker Registry 是一个集中存储和分发镜像的服务。它可以用来存储自定义的镜像,也可以从公共的 Docker Hub 上下载镜像。Docker Registry 允许用户创建私有的 Registry,用来存储和分享自己的镜像

相关推荐
Doro再努力23 分钟前
【Linux操作系统06】深入理解权限掩码与粘滞位
linux·运维·服务器
mzhan01732 分钟前
[Linux] vdso 32bit vs 64bit
linux·运维·服务器
忧郁的橙子.37 分钟前
26期_01_Pyhton linux基本命令
linux·运维·服务器
西京刀客43 分钟前
macOS 打出来的 tar 包,Linux 常见告警(tar 包里带了 macOS 的扩展属性(xattr))
linux·运维·macos
LCG米1 小时前
基于PyTorch的TCN-GRU电力负荷预测:从多维数据预处理到Docker云端部署
pytorch·docker·gru
我送炭你添花2 小时前
开源TR-069 ACS(自动配置服务器)GenieACS 的四个主要模块详细介绍
运维·服务器·开源
Warren982 小时前
接口测试理论
docker·面试·职场和发展·eureka·ansible
杭州杭州杭州2 小时前
Docker
运维·docker·容器
开开心心_Every3 小时前
Win10/Win11版本一键切换工具
linux·运维·服务器·edge·pdf·web3·共识算法
啟明起鸣3 小时前
【Nginx 网关开发】从源码分析 Nginx 的多进程启动原理
运维·nginx