【深入剖析K8s】容器技术基础(一):从进程开始说起

容器其实是一种特殊的进程而已。

可执行镜像

为了能够让这些代码正常运行'我们往往还要给它提供数据'比如我们这个加法程序所需要的输人文件°这些数据加上代码本身的二进制文件放在磁盘上'就是我们平常所说的一个程序,也叫代码的可执行镜像(executablejmage)°然后'我们就可以在计算机上运行这个程序了。

进程

  • 对于进程来说'它的静态表现就是程序'平常都安安静静地待在磁盘上;而---且运行起来'它就变成了计算机里的数据和状态的总和,这就是它的动态表现。

容器

  • 容器技术的核心功能'就是通过约束和修改进程的动态表现'为其创造一个'边界,'。

  • 对于Docker等大多数Llnux容器来说, Cgroups技术是用来制造约束的主要手段而Namespace技术是荆来修改进程视图的主要方法.

    docker run -it busybox /bin/sh ps

可以看到'在Docker里最开始执行的/b1n/sh就是这个容器内部的第1号进程(PID=l )'而这个容器里共有两个进程在运行。

这就意味着'前面执行的/b1n/sh以及刚刚执行的ps,已经被Docker隔离在了一个跟宿主机完全不同的世界当中。

这种机制其实就是对被隔离应用的进程空间动了手脚'使得这些进程只能'看到,重新计算过的PID,比如PID=1。可实际上'在宿主机的操作系统里,它还是原来的第100号进程。

相关推荐
运维栈记1 天前
如何排错运行在Kubernetes集群中的服务?
云原生·容器·kubernetes
阿里云云原生1 天前
直播回顾丨详解阿里云函数计算 AgentRun,手把手带你走进 Agentic AI 生产时代
云原生
木卫二号Coding1 天前
affine+docker+postgresql+备份数据库
数据库·docker·容器
檀越剑指大厂1 天前
查看 Docker 镜像详情的几种常用方法
docker·容器·eureka
java_logo1 天前
Webtop Docker 容器化部署指南:基于浏览器的Linux桌面环境
linux·docker·容器·webtop·webtop部署教程·docker部署webtop·linux桌面
源去_云走1 天前
自建 Iconfy API 服务:解决国内访问不稳定问题
前端·容器·npm·node.js
技术小李...1 天前
docker下mysql更改密码后WordPress提示无法连接数据库问题
运维·docker·容器
叫致寒吧1 天前
zookeeper与kafka
分布式·zookeeper·云原生
爱学大树锯1 天前
在Docker环境中安装RabbitMQ延迟消息插件实战记录
docker·容器·rabbitmq
木风小助理1 天前
Kubernetes持久化存储架构深度解析:从易失的Pod到永恒的数据
kubernetes