您的位置: 翼速应用 > 业内知识 > 运维 > 正文

一起聊聊docker容器是借助什么技术实现隔离的

docker容器是借助什么技术实现隔离的?答:linux内核技术。“Linux Namespaces”机制提供了一种资源隔离方案,每个namespace下的资源对于其他namespace下的资源都是透明,不可见的,因此在操作系统层面看就会出现多个相同pid的进程。


一起聊聊docker容器是借助什么技术实现隔离的


本文适用于linux7.3系统、docker19.03版、Dell G3电脑。


一起聊聊docker容器是借助什么技术实现隔离的


docker容器是借助linux内核技术实现隔离的。Linux Namespaces机制提供一种资源隔离方案。


PID,IPC,Network等系统资源不再是全局性的,而是属于某个特定的Namespace。每个namespace下的资源对于其他namespace下的资源都是透明,不可见的。因此在操作系统层面上看,就会出现多个相同pid的进程。系统中可以同时存在两个进程号为0,1,2的进程,由于属于不同的namespace,所以它们之间并不冲突。而在用户层面上只能看到属于用户自己namespace下的资源,例如使用ps命令只能列出自己namespace下的进程。这样每个namespace看上去就像一个单独的Linux系统。


每个namespace看上去就像一个单独的Linux系统


示例如下:进程隔离


启动一个容器


docker run -it -p 8080:8080 --name pai-sn pai-sn:snapshot /bin/bash


-it 交互启动,-p端口映射 ,–name 容器名称 后面是镜像名称,打开shell,启动之后就进入到了容器


查看进程


ps -ef


查看进程


使用top命令查看进程资源


使用top命令查看进程资源


在宿主机查看下当前执行容器的进程ps -ef|grep pai-sn


在宿主机查看下当前执行容器的进程ps -ef|grep pai-sn


由此,我们可以知道docker run命令启动的只是一个进程,它的pid是4677。而对于容器程序本身来说,它被隔离了,在容器内部都只能看到自己内部的进程。Docker是借助了Linux内核的Namespace技术来实现的。


文件隔离


容器内部根目录执行ls命令


容器内部根目录执行ls命令


容器内部已经包含了这些文件夹了


宿主机执行docker info 来看看我们的 Docker 用到的文件系统是什么


 Docker 用到的文件系统


Docker版本是20.10.6,存储驱动是overlay2,不同的存储驱动在 Docker 中表现不一样,但是原理类似。


Docker文件系统是通过mount去挂载的,执行docker ps命令器实例id


执行docker ps命令器实例id


执行docker inspect container_id | grep Mounts -A 20找到挂载在宿主机的目录,查看目录列表


找到挂载在宿主机的目录,查看目录列表


发现这个和我们容器的目录是一致的,我们在这个目录下创建一个新的目录,然后看看容器内部是不是会出现新的目录。其实文件的隔离,资源的隔离都是在新的命名空间下通过mount挂载的方式来隔离的。


关于docker容器是借助什么技术实现隔离的全部内容到这里就结束了,翼速应用平台内有更多相关资讯,欢迎查阅!


我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题