爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      Docker之容器技术所涉及Linux内核关键技术

      首页 知识中心 其他 文章详情页

      Docker之容器技术所涉及Linux内核关键技术

      2023-08-03 06:46:32 阅读次数:433

      docker,linux,容器

      容器技术所涉及Linux内核关键技术

      一、容器技术前世今生

      1.1 1979年 — chroot

      • 容器技术的概念可以追溯到1979年的UNIX chroot。
      • 它是一套“UNIX操作系统”系统,旨在将其root目录及其它子目录变更至文件系统内的新位置,且只接受特定进程的访问。
      • 这项功能的设计目的在于为每个进程提供一套隔离化磁盘空间。
      • 1982年其被添加至BSD当中。

      1.2 2000年 — FreeBSD Jails

      • FreeBSD Jails是由Derrick T. Woolworth于2000年在FreeBSD研发协会中构建而成的早期容器技术之一。
      • 这是一套“操作系统”系统,与chroot的定位类似,不过其中包含有其它进程沙箱机制以对文件系统、用户及网络等资源进行隔离。
      • 通过这种方式,它能够为每个Jail、定制化软件安装包乃至配置方案等提供一个对应的IP地址。

      1.3 2001年 — Linux VServer

      • Linux VServer属于另一种jail机制,其能够被用于保护计算机系统之上各分区资源的安全(包括文件系统、CPU时间、网络地址以及内存等)。
      • 每个分区被称为一套安全背景(security context),而其中的虚拟化系统则被称为一套虚拟私有服务器。

      1.4 2004年 — Solaris容器

      • Solaris容器诞生之时面向x86与SPARC系统架构,其最初亮相于2004年2月的Solaris 10 Build 51 beta当中,随后于2005年正式登陆Solaris 10的完整版本。
      • Solaris容器相当于将系统资源控制与由分区提供的边界加以结合。各分区立足于单一操作系统实例之内以完全隔离的虚拟服务器形式运行。

      1.5 2005年 — OpenVZ

      • OpenVZ与Solaris容器非常相似,且使用安装有补丁的Linux内核以实现虚拟化、隔离能力、资源管理以及检查点交付。
      • 每套OpenVZ容器拥有一套隔离化文件系统、用户与用户群组、一套进程树、网络、设备以及IPC对象。

      1.6 2006年 — Process容器

      • Process容器于2006年由谷歌公司推出,旨在对一整套进程集合中的资源使用量(包括CPU、内存、磁盘I/O以及网络等等)加以限制、分配与隔离。
      • 此后其被更名为Control Groups(即控制组),从而避免其中的“容器”字眼与Linux内核2.6.24中的另一术语出现冲突。这表明了谷歌公司率先重视容器技术的敏锐眼光以及为其做出的突出贡献。

      1.7 2007年 — Control Groups

      Control Groups也就是谷歌实现的cgroups,其于2007年被添加至Linux内核当中。

      1.8 2008年 — LXC

      • LXC指代的是Linux Containers
      • 是第一套完整的Linux容器管理实现方案。
      • 其功能通过cgroups以及Linux namespaces实现。
      • LXC通过liblxc库进行交付,并提供可与Python3、Python2、Lua、Go、Ruby以及Haskell等语言相对接的API。
      • 相较于其它容器技术,LXC能够在无需任何额外补丁的前提下运行在原版Linux内核之上。

      1.9 2011年 — Warden

      • Warden由CloudFoundry公司于2011年所建立,其利用LXC作为初始阶段,随后又将其替换为自家实现方案。
      • 与LXC不同,Warden并不会与Linux紧密耦合。相反,其能够运行在任意能够提供多种隔离环境方式的操作系统之上。Warden以后台进程方式运行并提供API以实现容器管理。

      1.10 2013年 — LMCTFY

      • Lmctfy代表的是“Let Me Contain That For You(帮你实现容器化)”。它其实属于谷歌容器技术堆栈的开源版本,负责提供Linux应用程序容器。谷歌公司在该项目的起步阶段宣称其能够提供值得信赖的性能表现、高资源利用率、共享资源机制、充裕的发展空间以及趋近于零的额外资源消耗。
      • 2013年10月lmctfy的首个版本正式推出,谷歌公司在2015年决定将lmctfy的核心概念与抽象机制转化为libcontainer。在失去了主干之后,如今lmctfy已经失去一切积极的发展势头。

      Libcontainer项目最初由Docker公司建立,如今已经被归入开放容器基金会的管辖范畴。

      1.11 2013年-Docker

      • 在2013年Docker刚发布的时候,它是一款基于LXC的开源容器管理引擎。
      • 把LXC复杂的容器创建与使用方式简化为Docker自己的一套命令体系。
      • 随着Docker的不断发展,它开始有了更为远大的目标,那就是反向定义容器的实现标准,将底层实现都抽象化到Libcontainer的接口。这就意味着,底层容器的实现方式变成了一种可变的方案,无论是使用namespace、cgroups技术抑或是使用systemd等其他方案,只要实现了Libcontainer定义的一组接口,Docker都可以运行。这也为Docker实现全面的跨平台带来了可能。

      二、NameSpace

      2.1 NameSpace介绍

      • 很多编程语言都包含了命名空间的概念,我们可以认为命名空间是一种封装,封装本身实际上实现了代码的隔离
      • 在操作系统中命名空间命名空间提供的是系统资源的隔离,其中系统资源包括了:进程、网络、文件系统…
      • 实际上linux系统实现命名空间主要目的之一就是为了实现轻量级虚拟化服务,也就是我们说的容器,在同一个命名空间下的进程可以感知彼此的变化,而对其他命名空间的进程一无所知,这样就可以让容器中的进程产生一个错觉,仿佛它自己置身于一个独立的系统环境当中,以此达到独立和隔离的目的。

      2.2 Linux系统中NameSpace分类

      命名空间

      描述

      作用

      备注

      进程命名空间

      隔离进程ID

      Linux通过命名空间管理进程号,同一个进程,在不同的命名空间进程号不同

      进程命名空间是一个父子结构,子空间对于父空间可见

      网络命名空间

      隔离网络设备、协议栈、端口等

      通过网络命名空间,实现网络隔离

      docker采用虚拟网络设备,将不同命名空间的网络设备连接到一起

      IPC命名空间

      隔离进程间通信

      进程间交互方法

      PID命名空间和IPC命名空间可以组合起来用,同一个IPC名字空间内的进程可以彼此看见,允许进行交互,不同空间进程无法交互

      挂载命名空间

      隔离挂载点

      隔离文件目录

      进程运行时可以将挂载点与系统分离,使用这个功能时,我们可以达到 chroot 的功能,而在安全性方面比 chroot 更高

      UTS命名空间

      隔离Hostname和NIS域名

      让容器拥有独立的主机名和域名,从而让容器看起来像个独立的主机

      目的是独立出主机名和网络信息服务(NIS)

      用户命名空间

      隔离用户和group ID

      每个容器内上的用户跟宿主主机上不在一个命名空间

      同进程 ID 一样,用户 ID 和组 ID 在命名空间内外是不一样的,并且在不同命名空间内可以存在相同的 ID

      2.3 NameSpace应用案例

      以net namespace为例:

      • 在 Linux 中,网络命名空间可以被认为是隔离的拥有单独网络栈(网卡、路由转发表、iptables)的环境。网络命名空间经常用来隔离网络设备和服务,只有拥有同样网络命名空间的设备,才能看到彼此。
      • 从逻辑上说,网络命名空间是网络栈的副本,拥有自己的网络设备、路由选择表、邻接表、Netfilter表、网络套接字、网络procfs条目、网络sysfs条目和其他网络资源。
      • 从系统的角度来看,当通过clone()系统调用创建新进程时,传递标志CLONE_NEWNET将在新进程中创建一个全新的网络命名空间。
      • 从用户的角度来看,我们只需使用工具ip(package is iproute2)来创建一个新的持久网络命名空间。

      Docker(二)之容器技术所涉及Linux内核关键技术

      2.3.1 创建net命名空间

      创建名称为msb的网络命名空间
      # ip netns add msb
      查看已创建的网络命名空间
      # ip netns ls
      msb

      2.3.2 删除net命名空间

      删除已创建的网络命名空间
      # ip netns delete msb

      2.3.3 在net命名空间中执行命令

      在网络命名空间中执行bash命令,如果想退出,需要使用exit
      # ip netns exec msb bash

      2.3.4 在net命令空间中执行查看网络连接(网卡)命令

      在网络命名空间中查看网络命名空间中的网卡信息
      # ip link
      1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      在Linux主机系统中查看
      # ip netns exec msb ip link list
      1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

      2.3.5 退出当前的net命名空间

      退出已进入的网络命名空间
      # exit
      exit

      2.3.6 在net命名空间中执行多条命令

      在网络命名空间中查看路由表
      # route -n
      Kernel IP routing table
      Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      在网络命名空间中查看防火墙规则
      # iptables -t nat -nL
      Chain PREROUTING (policy ACCEPT)
      target     prot opt source               destination         
      
      Chain INPUT (policy ACCEPT)
      target     prot opt source               destination         
      
      Chain OUTPUT (policy ACCEPT)
      target     prot opt source               destination         
      
      Chain POSTROUTING (policy ACCEPT)
      target     prot opt source               destination

      2.3.7 创建虚拟网卡

      同时创建一对虚拟网卡

      创建虚拟网卡对
      # ip link add veth0 type veth peer name veth1
      在物理机上查看
      # ip a s
      ......
      10: veth1@veth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN group default qlen 1000
          link/ether de:44:f8:b7:12:65 brd ff:ff:ff:ff:ff:ff
      11: veth0@veth1: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN group default qlen 1000
          link/ether 46:5e:89:8c:cb:b3 brd ff:ff:ff:ff:ff:ff

      2.3.8 迁移虚拟网卡到命名空间中

      这两个网卡还都属于“default”或“global”命名空间,和物理网卡一样。把其中一个网卡转移到命名空间msb中。

      把创建的veth1网卡添加到msb网络命名空间中
      # ip link set veth1 netns msb
      在Linux系统命令行查看网络命名空间中的网络
      # ip netns exec msb ip link
      1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      10: veth1@if11: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
          link/ether de:44:f8:b7:12:65 brd ff:ff:ff:ff:ff:ff link-netnsid 0

      2.3.9 命名空间中迁出虚拟网卡

      在Linux系统命令行把虚拟网卡veth1从网络命名空间删除
      # ip netns exec msb ip link delete veth1
      在Linux系统命令行查看结果
      # ip netns exec msb ip link
      1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

      2.3.10 配置虚拟网卡IP地址

      再次创建虚拟网卡,添加到msb网络命名空间,并设置IP地址
      # ip link add veth0 type veth peer name veth1
      # ip link set veth1 netns msb
      # ip netns exec msb ip addr add 192.168.50.2/24 dev veth1
      在Linux系统命令行查看网络状态
      # ip netns exec msb ip addr
      1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      12: veth1@if13: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
          link/ether fe:20:ac:a8:13:4c brd ff:ff:ff:ff:ff:ff link-netnsid 0
          inet 192.168.50.2/24 scope global veth1
             valid_lft forever preferred_lft forever
      启动虚拟网卡,veth1与lo全部要启动
      # ip netns exec msb ip link set veth1 up
      
      # ip netns exec msb ip link set lo up
      为物理机veth0添加IP地址
      
      # ip a s
      ......
      15: veth0@if14: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group defau
      lt qlen 1000
          link/ether 2e:b4:40:c8:73:dc brd ff:ff:ff:ff:ff:ff link-netnsid 0
      # ip addr add 192.168.50.3/24 dev veth0
      
      # ip a s veth0
      15: veth0@if14: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
          link/ether 2e:b4:40:c8:73:dc brd ff:ff:ff:ff:ff:ff link-netnsid 0
          inet 192.168.50.3/24 scope global veth0
             valid_lft forever preferred_lft forever
      # ip link set veth0 up
      在宿主机上ping msb中的veth1
      # ping 192.168.50.2
      PING 192.168.50.2 (192.168.50.2) 56(84) bytes of data.
      64 bytes from 192.168.50.2: icmp_seq=1 ttl=64 time=0.102 ms
      64 bytes from 192.168.50.2: icmp_seq=2 ttl=64 time=0.068 ms
      64 bytes from 192.168.50.2: icmp_seq=3 ttl=64 time=0.068 ms
      在msb中的veth1 ping 宿主机上veth0
      # ip netns exec msb ping 192.168.50.3
      PING 192.168.50.3 (192.168.50.3) 56(84) bytes of data.
      64 bytes from 192.168.50.3: icmp_seq=1 ttl=64 time=0.053 ms
      64 bytes from 192.168.50.3: icmp_seq=2 ttl=64 time=0.031 ms
      64 bytes from 192.168.50.3: icmp_seq=3 ttl=64 time=0.029 ms
      如果需要访问本机的其它网段,可手动添加如下默认路由条目。
      # ip netns exec msb ip route add default via 192.168.50.3

      关于如何ping通外网主机,可设置路由转发完成。

      三、CGroups

      3.1 CGroups介绍

      • Control groups(cgroups) 控制组
      • linux内核提供的可以限制、记录、隔离进程组所使用的物理资源的机制。为容器而生,没有cgroups就没有今天的容器技术。

      Docker(二)之容器技术所涉及Linux内核关键技术

      3.2 CGroups功能

      • 资源限制(Resource Limitation):cgroups 可以对进程组使用的资源总额进行限制。如设定应用运行时使用内存的上限,一旦超过这个配额就发出 OOM(Out of Memory)。
      • 优先级分配(Prioritization):通过分配的 CPU 时间片数量及硬盘 IO 带宽大小,实际上就相当于控制了进程运行的优先级。
      • 资源统计(Accounting): cgroups 可以统计系统的资源使用量,如 CPU 使用时长、内存用量等等,这个功能非常适用于计费。
      • 进程控制(Control):cgroups 可以对进程组执行挂起、恢复等操作。

      3.3 CGroups应用案例

      3.3.1 安装及开启服务

      [root@localhost ~]# yum -y install libcgroup
      [root@localhost ~]# systemctl start cgconfig.service 	
      [root@localhost ~]# systemctl enable cgconfig.service

      3.3.2 限制进程使用CPU

      3.3.2.1 查看cpu shares

      查看资源限制子系统
      [root@localhost ~]# lssubsys
      cpuset
      cpu,cpuacct
      memory
      devices
      freezer
      net_cls,net_prio
      blkio
      perf_event
      hugetlb
      pids
      
      查看子系统配置文件所在位置
      [root@localhost ~]# ls /sys/fs/cgroup/
      blkio  cpuacct      cpuset   freezer  memory   net_cls,net_prio  perf_event  systemd
      cpu    cpu,cpuacct  devices  hugetlb  net_cls  net_prio          pids
      [root@localhost ~]# ls /sys/fs/cgroup/cpu
      cgroup.clone_children  cpuacct.stat          cpu.cfs_quota_us   cpu.stat
      cgroup.event_control   cpuacct.usage         cpu.rt_period_us   notify_on_release
      cgroup.procs           cpuacct.usage_percpu  cpu.rt_runtime_us  release_agent
      cgroup.sane_behavior   cpu.cfs_period_us     cpu.shares         tasks
      
      查看CPU时间分片,用于保证分组所得到的CPU分片总量。
      [root@localhost ~]# cat /sys/fs/cgroup/cpu/cpu.shares
      1024

      3.3.2.2 使用CPU子系统创建2个group分组

      [root@localhost ~]# vim /etc/cgconfig.conf
      group lesscpu {
      	cpu{
      		cpu.shares=200;
      	}	
      }
      group morecpu {
      	cpu{
      		cpu.shares=800;
      	}	
      }
      
      [root@localhost ~]# systemctl restart cgconfig

      准备一个脚本

      #!/bin/bash
      
      a=1
      while true
      do
      
              a=$[$a+1]
      done

      将将要运行的应用程序分配到指定分组(请使用单CPU机器,三个终端验证)

      终端1# cgexec -g cpu:lesscpu sh /tmp/1.sh
      
      终端2# cgexec -g cpu:morecpu sh /tmp/1.sh
      
      终端3# top

      PS: 如果主机有多CPU,为了验证效果,可以进行如下操作

      # lscpu
      # echo 0 > /sys/devices/system/cpu/cpu0/online
      # echo 1 > /sys/devices/system/cpu/cpu1/online
      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/u_16179749/6666137,作者:私ははいしゃ敗者です,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:CVE漏洞复现-CVE-2021-36934 Windows 提权漏洞

      下一篇:CVE漏洞复现-CVE-2014-3120-ElasticSearch 命令执行漏洞

      相关文章

      2025-05-19 09:04:53

      容器技术-Docker 容器的端口发布

      容器技术-Docker 容器的端口发布

      2025-05-19 09:04:53
      Docker , 容器 , 指定 , 映射 , 端口
      2025-05-19 09:04:53

      查看RISC-V版本的gcc中默认定义的宏

      查看RISC-V版本的gcc中默认定义的宏

      2025-05-19 09:04:53
      c++ , linux
      2025-05-14 09:51:21

      Docker大学生看了都会系列(十、Docker网络)

      docker使用Linux桥接网卡,在宿主机虚拟一个docker容器网桥(docker0),docker启动一个容器时会根据docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网络网关。

      2025-05-14 09:51:21
      docker , Docker , 容器 , 宿主机 , 模式 , 网桥 , 网络
      2025-05-14 09:51:21

      Docker大学生看了都会系列(三、常用帮助、镜像、容器命令)

      Docker大学生看了都会系列(三、常用帮助、镜像、容器命令)

      2025-05-14 09:51:21
      container , docker , 命令 , 容器 , 查看 , 镜像
      2025-05-12 08:43:47

      盛最多水的容器

      给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

      2025-05-12 08:43:47
      lt , 容器 , 示例
      2025-05-09 08:50:35

      STL:Stack和Queue的模拟实现

      适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另外一个接口。

      2025-05-09 08:50:35
      deque , queue , stack , 元素 , 容器 , 底层 , 适配器
      2025-05-09 08:20:32

      STL:模版进阶 | Priority_queue的模拟实现

      模板参数分类为类型形参与非类型形参。

      2025-05-09 08:20:32
      函数 , 参数 , 容器 , 模板 , 模版 , 类型
      2025-05-07 09:09:52

      【C++/STL】stack/queue的使用及底层剖析&&双端队列&&容器适配器

      适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另外一个接口。

      2025-05-07 09:09:52
      deque , queue , stack , STL , 容器
      2025-05-06 09:19:21

      【Linux 从基础到进阶】Kubernetes 集群搭建与管理

      Kubernetes(简称 K8s)是一个用于自动化部署、扩展和管理容器化应用程序的开源平台。它提供了容器编排功能,能够管理大量的容器实例,并支持应用的自动扩展、高可用性和自愈能力。

      2025-05-06 09:19:21
      Kubernetes , Pod , 容器 , 节点 , 集群
      2025-05-06 09:18:49

      【Linux 从基础到进阶】Docker 网络配置与调优

      Docker 提供了强大的网络功能,使得容器之间、容器与宿主机、容器与外部网络之间的通信变得高效而灵活。理解和优化 Docker 网络配置对于确保容器应用的性能和可靠性至关重要。

      2025-05-06 09:18:49
      Docker , 容器 , 宿主机 , 网络
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5228903

      查看更多

      最新文章

      容器技术-Docker 容器的端口发布

      2025-05-19 09:04:53

      查看RISC-V版本的gcc中默认定义的宏

      2025-05-19 09:04:53

      Docker大学生看了都会系列(十、Docker网络)

      2025-05-14 09:51:21

      Docker大学生看了都会系列(三、常用帮助、镜像、容器命令)

      2025-05-14 09:51:21

      盛最多水的容器

      2025-05-12 08:43:47

      STL:模版进阶 | Priority_queue的模拟实现

      2025-05-09 08:20:32

      查看更多

      热门文章

      Linux crontab 任务误删恢复及备份步骤

      2023-03-20 08:19:07

      docker学习-构建镜像

      2023-04-19 09:22:48

      Linux 趣味小知识--软硬连接以及应用

      2023-04-23 09:32:49

      Linux常用命令总结

      2023-05-12 07:20:42

      linux-压缩与解压缩

      2023-05-15 10:03:24

      linux基本命令(47)——iostat命令

      2023-05-12 07:21:43

      查看更多

      热门标签

      linux java python javascript 数组 前端 docker Linux vue 函数 shell git 节点 容器 示例
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      java spring @Scheduled注解 的写法

      设置docker启动项目

      初始docker(二)

      Docker Kafka Linux安装教程

      openEuler学习总结1(仅供学习参考)

      k8s如何优雅地关闭Pod

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号