Docker相关回顾(未完)
2021/10/11 6:17:54
本文主要是介绍Docker相关回顾(未完),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.概述
优点:轻量、业务隔离、标准交付
chroot:改变某个进程的根目录,使得该程序不能访问目录之外的其他目录,和容器类似
Docker利用Namespace做主机名、网络、PID等资源的隔离,用Cgroups对进程或者进程组做资源(CPU、内存等)限制,联合文件系统用于镜像构建和容器运行环境
Namespace
功能:对内核资源进行隔离,容器中的进程可以在单独的命名空间中运行,并且只可以访问当前容器命名空间的资源
Docker主要用到5种:
- pid namespace:隔离进程id
- net namespace:隔离网络接口
- mnt namespace:文件系统挂载点隔离
- ipc namespace:信号量、消息队列、共享内存隔离
- uts namespace:主机名和域名隔离
Cgroups
限制容器CPU和内存等资源的使用
联合文件系统
UnionFS,通过创建文件层进程操作的文件系统,非常轻快,Docker使用其为容器提供构建层,使容器可以实现写时复制以及镜像的分层构建和存储
常用的联合文件系统有AUFS、Overlay、Devicemapper
2.核心概念
镜像
容器启动的先决条件
一个只读的文件和文件夹组合,包含容器运行时所需要的所有基础文件和配置信息
使用:
- 自己创建镜像
- 从镜像仓库拉取别人的镜像
容器
容器是镜像的运行实体,镜像是静态的只读文件,容器带有运行时需要的可写文件层,容器运行真正的应用进程
容器有初建、运行、停止、暂停、删除五种状态
容器有自己独立的命名空间隔离和资源限制
仓库
存储和分发Docker镜像
分为公共镜像仓库和私有镜像仓库
3.Docker架构
整体架构采用C/S模式,主要由客户端和服务端两部分组成,客户端负责发送操作指令,服务端负责接收和处理指令
客户端
docker命令、REST API、各种语言的SDK
服务端
所有后台服务的统称
dockerd:负责响应和处理来自客户端的请求,转换为具体操作
containerd:管理容器生命周期,启动并管理runC
runC:运行容器的轻量级工具
containerd-shim:将containered和真正的容器进程解耦,作为容器进程的父进程,containerd重启不影响已经启动的容器进程
4.镜像使用
这篇关于Docker相关回顾(未完)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Docker端口:你真的公开了哪些东西?
- 2024-11-14用DOCKER在家里的实验室里搞些酷炫的玩意儿
- 2024-11-05掌握Docker:高效安全的十大最佳实践
- 2024-11-05在 Docker Compose 中怎么设置端口映射-icode9专业技术文章分享
- 2024-11-05在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享
- 2024-11-04Docker环境部署项目实战:新手入门教程
- 2024-11-04Docker环境部署资料:新手入门教程
- 2024-11-01Docker环境部署教程:新手入门指南
- 2024-11-01超越Docker:苹果芯片上的模拟、编排和虚拟化方案讲解
- 2024-11-01Docker环境部署:新手入门教程