浅谈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,用来存储和分享自己的镜像

相关推荐
安迁岚几秒前
【SQL Server】华中农业大学空间数据库实验报告 实验三 数据操作
运维·服务器·数据库·sql·mysql
打码人的日常分享14 分钟前
商用密码应用安全性评估,密评整体方案,密评管理测评要求和指南,运维文档,软件项目安全设计相关文档合集(Word原件)
运维·安全·web安全·系统安全·规格说明书
追风赶月、1 小时前
【Linux】线程概念与线程控制
linux·运维·服务器
工业3D_大熊1 小时前
3D可视化引擎HOOPS Luminate场景图详解:形状的创建、销毁与管理
java·c++·3d·docker·c#·制造·数据可视化
szc17671 小时前
docker 相关命令
java·docker·jenkins
CP-DD1 小时前
Docker 容器化开发 应用
运维·docker·容器
Stark-C1 小时前
万物皆可Docker,在NAS上一键部署最新苹果MacOS 15系统
macos·docker·策略模式
老司机张师傅2 小时前
【微服务实战之Docker容器】第七章-Dockerfile解析
容器·dockerfile·虚悬镜像·docker学习
微信-since811922 小时前
[ruby on rails] 安装docker
后端·docker·ruby on rails
努力的悟空3 小时前
国土变更调查拓扑错误自动化修复工具的研究
运维·自动化