首页 >资讯 > > 正文

【云原生 • Docker】Docker核心UTS Namespace原理实践

腾讯云 2023-04-21 16:16:35

【云原生 • Docker】Docker核心UTS Namespace原理实践

Docker三大支柱核心技术:NamespaceCgroupsUnionFS,这节通过一个UTS Namespace简单实践小案例,更加直观理解Namespace资源隔离技术。


【资料图】

UTS Namespace主要是用来隔离主机名和域名的隔离,它允许每个 UTS Namespace拥有一个独立的主机名。例如我们的主机名称为 VM-4-14-centos,使用 UTS Namespace可以实现在容器内的主机名称为 container-docker或者其他任意自定义主机名。

UTS Namespace案例实践

在进行UTS Namespace案例实践之前,我们先来了解个关键指令:「unshare,运行一些与父级不共享某些名称空间的程序。」

root@node3:~# unshare --helpUsage: unshare [options]  [...]Run a program with some namespaces unshared from the parent.Options:-h,--help显示帮助文本并退出。-i,-- ipc 取消共享IPC名称空间。-m,-- mount 取消共享安装名称空间。-n,-- net 取消共享网络名称空间。-p,-- pid 取消共享pid名称空间。另请参见--fork和--mount-proc选项。-u,-- uts 取消共享UTS名称空间。-U,--user 取消共享用户名称空间。-f,-将指定程序fork为取消共享的子进程,而不是直接运行它。这在创建新的pid命名空间时很有用。--mount-proc [=mountpoint]在运行程序之前,将proc文件系统挂载到mountpoint (默认为/ proc)。这在创建新的pid名称空间时很有用。这也意味着创建一个新的挂载名称空间,因为/ proc挂载否则会破坏系统上的现有程序。新的proc文件系统显式安装为私有文件(由MS_PRIVATE | MS_REC)。-r,-- map-root-user 仅在当前有效的用户和组ID已映射到新创建的用户名称空间中的超级用户UID和GID之后,才运行该程序。这样即使在没有特权的情况下运行,也可以方便地获得管理新创建的名称空间各个方面所需的功能(例如,在网络名称空间中配置接口或在安装名称空间中安装文件系统)。仅作为一项便利功能,它不支持更复杂的用例,例如映射多个范围的UID和GID。

我们通过一个实例来验证下 UTS Namespace的作用。

1、首先我们使用 unshare命令来创建一个 UTS Namespace

# unshare --uts --fork /bin/bash

创建好 UTS Namespace后,宿主机shelllsns列出namespace信息,会发现最后一条就是我们使用unshare创建了一个uts类型的namespace

2、回到上步uts命名空间shell下,使用 hostname命令设置一下主机名:

[root@VM-4-14-centos ~]# hostnameVM-4-14-centos[root@VM-4-14-centos ~]# hostname -b container-docker[root@VM-4-14-centos ~]# hostnamecontainer-docker

通过上面命令的输出,我们可以看到当前 UTS Namespace内的主机名已经被修改为 container-docker

3、回到宿主机shell下,查看一下主机的 hostname

[root@VM-4-14-centos ~]# hostnameVM-4-14-centos

可以看到主机的名称仍然为 VM-4-14-centos,并没有被修改,这就是使用UTS Namespace技术实现主机名隔离功能。

Docker原理验证

1、使用docker run创建并运行一个Docker容器:

[root@VM-4-14-centos ~]# docker run -d --name test-nginx --hostname docker-nginx nginx0fd5ec42923553ec2600c51ef4f119e4025ebf5adf13561b0e847cd816f332b7[root@VM-4-14-centos ~]# docker exec -it 0fd sh# hostnamedocker-nginx

❝--hostname指定docker容器的hostname,上面指定--hostname docker-nginx,通过docker exec指令进入到docker容器中,使用hostname查看Docker容器的hostname已被正确修改。❞

2、查看刚创建的Docker容器对应的宿主机PID信息:

[root@VM-4-14-centos ~]# docker inspect -f {{.State.Pid}} test-nginx29424

或者通过lsns指令也可以查看到我们刚才创建的Docker容器Namespace信息:

3、在宿主机shell下使用nsenter指令可以进入到Docker容器相同的Namespace下:

[root@VM-4-14-centos ~]# nsenter -t 29424 -u -n

说明:

-t:指定被进入命名空间的目标进程的pid,即指定Docker容器在宿主机上对应pid;-u:进入uts命令空间;-n:进入net命令空间。

「nsenter:一个可以在指定进程的命令空间下运行指定程序的命令。」有很多image内部是没有bash的,所以我们docker exec是无法进入容器的,此时如果还想看一下容器内的情况,其实只需要想办法加入到容器对应的namespace就可以了。我们使用nsenter工具即可实现,该工具启动后会将自己加入到指定的namespace中,然后exec执行我们指定的程序(通常就是bash)。这个命令大家在容器网络调试下可能常用,比如在一些没有网络调试工具(ip addresspingtelnetsstcpdump)的容器内利用宿主机上的命令进行容器内网络连通性的调试等等。❞

4、使用hostnameip addr验证,和Docker容器在相同的UTS NamespaceNetwork Namespace下:

[root@docker-nginx ~]# hostnamedocker-nginx[root@docker-nginx ~]# ip addr1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever40: eth0@if41:  mtu 1500 qdisc noqueue state UP group default     link/ether 02:42:ac:11:00:07 brd ff:ff:ff:ff:ff:ff link-netnsid 0    inet 172.17.0.7/16 brd 172.17.255.255 scope global eth0       valid_lft forever preferred_lft forever
上一篇:《隐秘的角落》导演新悬疑剧播出 世界今热点 下一篇:最后一页
x
推荐阅读

【云原生 • Docker】Docker核心UTS Namespace原理实践

2023-04-21

《隐秘的角落》导演新悬疑剧播出 世界今热点

2023-04-21

比萨调味料中使用了哪些草药?

2023-04-21

国务院安委会对长峰医院重大火灾事故查处实行挂牌督办

2023-04-21

南通创新区举办首期人才开放日活动|世界今日报

2023-04-21

天天微动态丨2023上海车展大嘴余承东去了哪里?

2023-04-21

世界热文:昆明多个新建小区迟迟不通燃气 住建部门回复:开发商未结清燃气工程款

2023-04-21

天天播报:环山楼为陈太仆瑞卿作_关于环山楼为陈太仆瑞卿作介绍

2023-04-21

世界即时看!潮声丨胡家坟:一个美学“造”村的故事

2023-04-21

“肺部更健康,胸科在行动” 北京胸科医院肿瘤防治宣传周启动

2023-04-21

快播:消费潜力仍然巨大 业界热议零售业发展趋势

2023-04-21

中国好玩的地方排行榜10月_中国好玩的地方排行榜 环球要闻

2023-04-21

每日热文:“量身定做”!渤海装备首批掺氢输送钢管发运

2023-04-21

软驱接口_软驱 世界时讯

2023-04-21

天天短讯!电脑护眼模式怎么调回正常模式_电脑护眼模式怎么调

2023-04-21

胡润百富公布2023年全球独角兽榜单:OpenAI飙升进入TOP20 脉脉五度登榜_最新快讯

2023-04-21

西甲第30轮裁判安排:拉奥斯执法皇马,马丁内斯执法巴萨vs马竞

2023-04-21

全球新消息丨食品加工制造板块尾盘拉升,黑芝麻涨停

2023-04-21

我国连锁酒店客房总规模近553万间

2023-04-21

农业农村部:全国春播粮食已完成近两成 今亮点

2023-04-21

天天视讯!欧联-马奎尔德赫亚送礼 曼联总分2-5塞维利亚出局

2023-04-21

现在开庭|天降钢筋插进清洁工脑袋顶,法院判决49名住户承担七成、事发小区物业三成责任 世界热门

2023-04-21

天天热点!株洲市南方中学2021级高二开展研学活动

2023-04-21

如何生发防脱发_如何防止脱发生发

2023-04-21

聚焦:美国已经不再躲躲闪闪,有所顾忌了。

2023-04-21

每日热议!中通快递:灰熊卖空报告所作指控均无事实依据,独立调查已基本完成

2023-04-21

渝农商行:2022年年度业绩说明会定于2023年4月26日举行

2023-04-21

2023云合网络剧霸屏榜前五,优酷独占三席

2023-04-21

三天减肥的最快方法_三天减肥瘦10斤的方法 世界观焦点

2023-04-21

今日热门!慢性附睾炎多久能治好?选择正确的治疗方法可以缩短时间。

2023-04-21

快讯:指数早间震荡走低 游戏、传媒板块拉升_全球今亮点

2023-04-21

地产4月报:销售延续改善,一二线增速领跑;融资结构失衡,部分房企流动性危机仍存

2023-04-21

翠微股份(603123):4月20日北向资金增持54.28万股

2023-04-21

民进甘肃省委会调研组调研西峰区水利项目 及乡村道路建设情况|环球头条

2023-04-21

【世界热闻】20171010是什么星座 1010是什么星座

2023-04-21

世界微资讯!5000万婚礼细节曝光!他“嫁入”豪门,还是赌王家族赚了?

2023-04-21

“时代的眼泪”回归,粉丝经济鼻祖何以翻盘?|速读

2023-04-21

天天观热点:V观财报|科大讯飞一季度亏损近5800万 股东总数下降4.52万户

2023-04-21

台积电、ASML合作?外媒:这有助于中国芯片行业突围

2023-04-21

马龙赞布鲁斯-布朗防守能力:上赛季他在篮网时我就爱上了他

2023-04-21

全球新消息丨2023年姑苏教师资格认定体检通知(附预约网址)

2023-04-21

每日看点!港珠澳大桥穿梭巴士能改签时间吗?

2023-04-21

梅西品牌店铺官网将台湾列为“国家”?付款页面显示为“国家/地区”

2023-04-21

安谱实验2022年净利5591.58万同比下滑25.92% 其他收益同比下降 全球消息

2023-04-21

丢单传闻袭来股价跌停 工业富联紧急回应

2023-04-21

书香为伴 阅读再出发 世界热讯

2023-04-21

【天天时快讯】GPLP投融资:生工生物获20亿元战略融资 徐州博康获超6亿元融资

2023-04-20

全球最新:观点 | 美豆仍维持高位 国内短期难见较大跌幅

2023-04-20

短讯!淮北:汪华东会见韩国抱川市友好代表团

2023-04-20

王传福坐地铁参加上海车展!王健林也曾坐地铁出行,宗庆后出门坐过高铁二等座…

2023-04-20

露营旅游消费场景热点调研 国内露营头部企业增长趋势分析 实时焦点

2023-04-20

江西崇仁:企村联建谋发展 凝心聚力促振兴-每日报道

2023-04-20

天天通讯!金石资源: 金石资源集团股份有限公司关于2022年度利润分配预案的公告

2023-04-20

“第三届郎酒庄园三品节”开幕 汪俊林首提“五个意识”建设“新郎酒” 焦点日报

2023-04-20

世界即时:2024年国考招警掌握三步骤,让行测推断下文题不难推断

2023-04-20

世界今头条!三峡柑橘产业研究院成立 系统培养全产业链人才

2023-04-20

吉林省图书馆精品讲座进校园-今日热闻

2023-04-20

“80后”更倾向上网买保险 商业养老险和长护险备受关注 每日消息

2023-04-20

热议:长阳科技: 宁波长阳科技股份有限公司2022年年度报告摘要

2023-04-20

《2023母婴即时零售行业白皮书》:2026年母婴即时零售规模超千亿,年复合增长率达74%-环球速看料

2023-04-20

天天快看:窦骁未来豪门生活不容易,赌王女婿们有学霸有名人,他各项都普通

2023-04-20

全球消息!甘孜州稻城县发生森林火情 正在有序处置

2023-04-20

抢占老年旅行团,蹭吃儿童小饭桌,大人怎么没个大人样? 今日最新

2023-04-20

千亿公募换帅,继任者面临营收利润双降,2022年为持有人赚的钱少了七成

2023-04-20

信用卡停息挂账需要哪些材料?网贷逾期有什么影响?_焦点播报

2023-04-20

安州区气象台发布强降温蓝色预警【IV级/一般】

2023-04-20

火锅料上市公司龙头一览(2023/4/20)

2023-04-20

vivo X Fold2 和 X Flip明晚发布,各有三种时尚配色

2023-04-20

申能股份:一季度控股发电企业完成发电量同比减少3.33%-环球热点评

2023-04-20

三特索道(002159)4月20日主力资金净卖出1330.08万元-焦点简讯

2023-04-20

明星基金经理一季报陆续出炉!赵枫、丘栋荣、施成乐观看后市 当前关注

2023-04-20

春季果树“药浴”害虫无处藏身

2023-04-20

【当前热闻】子洲县裴家湾镇拓家崖窑村扶贫互助资金协会

2023-04-20

盐湖股份2022年净利润大增248% 机构研报提示“主营业务或承压”

2023-04-20

黄金T+N1价格今天多少一克(2023年4月19日)

2023-04-20

每日观察!【收评】PTA日内下跌0.94% 机构称高开工 低库存 PTA延续高位震荡

2023-04-20

世界热议:微软使用推特数据训练AI,马斯克称将提起诉讼

2023-04-20

【全球快播报】考教师资格证的流程_考教师资格证的流程

2023-04-20

微资讯!美联储褐皮书:近几周经济增长陷入停滞

2023-04-20

医保卡里的钱怎么查余额,最全的医保卡余额查询方法|焦点资讯

2023-04-20

世界新消息丨美国商务部长敦促大学与芯片企业合作:未来几年或面临10万半导体技术人员短缺

2023-04-20

世界球精选!中曼石油:2022年净利润同比增长580.35% 今年一季度净利润同比增长193.4%

2023-04-20

今日播报!王者荣耀金币怎么快速赚到18888(王者荣耀里怎么快速赚金币)

2023-04-20

oneZero赢得FXMarketsAsia2023大奖|最新

2023-04-20

【全球独家】广东省珠海市2023-04-19 09:32发布雷雨大风橙色预警

2023-04-20

全球信息:小爱小嘉说|人间四月,由我来说

2023-04-20

旺成科技北交所上市首日盘中破发平收 2022营收降12%

2023-04-19

全球今热点:霰是什么意思解释_霰是什么意思

2023-04-19

手机黑屏_手机黑屏-每日视点

2023-04-19

主力复盘:9亿抢筹电子元件 超5亿拉抬中国软件

2023-04-19

今日热议:荣耀MagicBook 14系列今日零点正式开售 首销价4999元起

2023-04-19

环球速递!德州仪器助力连接物联网应用实现更稳健、更经济实惠的 Wi-Fi® 技术

2023-04-19

一季度经济运行有哪些特点?国家发改委三句话概括_精选

2023-04-19

助力健康德阳建设 德阳市人民医院妇女儿童医院启用 世界今热点

2023-04-19

热转印 柯式烫画_热转印烫画与柯式烫画到底有什么区别 焦点精选

2023-04-19

丽江股份4月19日快速上涨_世界聚看点

2023-04-19

天天新动态:初灵信息(300250):该股换手率大于8%(04-19)

2023-04-19

英 力 特(000635):4月19日技术指标出现看涨信号-“红三兵”

2023-04-19

刘若曦_关于刘若曦的介绍 天天百事通

2023-04-19

曼联欲引法国神锋受阻 卢卡库还巢波及老特拉福德|全球讯息

2023-04-19