logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

容器的运行

podman generate systemd --new --name 容器名 > ~/.config/systemd/user/容器名.service。基础指令: podman ps 查看容器、 podman rm 删容器、 podman rmi 删镜像。podman start 容器名# 启动已存在的容器。podman exec -it 容器名 bash# 进入容器内部终端。podman s

#linux#云原生#运维 +1
Docker容器技术原理【总结】

容器底层原理:容器不是虚拟机,本质是受 Namespace 隔离、CGroup 资源限制、UnionFS(Overlay2)做分层文件系统,拥有独立文件系统的普通进程,直接复用宿主机 Linux 内核。镜像提供只读 rootfs 模板,实例化后生成容器,容器新增可写层运行业务进程。四、Docker Bridge 网络模式(默认网络)二、Docker 存储原理(Overlay2)三、Namespac

#java#开发语言
Docker容器技术原理【第一课】

目录结构|`br`分支指定多层,upper为可写层,挂载点为合并视图|4个核心目录:`lowerdir`(多只读层)、`upperdir`(可写)、`workdir`(工作目录)、`merged`(合并视图),**必须要有workdir**||内核归属|第三方补丁,不在Linux主线内核,部分系统需要手动安装补丁|属于**Linux主线内核原生支持**,主流发行版自带,无需打补丁||白文件命名|`

#java#开发语言
Docker容器技术原理【第二课】

镜像层只读,容器单独拥有可写层;镜像层全部作为 lowerdir,容器运行才新增 upperdir 可写层,使用写时复制 CoW 机制。容器镜像是静态、只读的软件模板,不包含操作系统内核,打包了应用代码、依赖库、配置、环境变量以及完整 rootfs 根文件系统,本身不能运行进程。启动容器时,镜像全部只读层作为 lowerdir,额外生成容器专属可写层 upperdir;容器所有修改、新增、删除都发

#linux#运维#容器 +1
Docker容器技术原理【第三课】

Namespace 做内核资源隔离;unshare 是手动创建 namespace 的工具,Docker 自动帮我们完成这套操作。Namespace 是 Linux 内核级资源隔离技术,把系统资源封装隔离,让不同进程拥有独立的一套系统资源视图,是容器实现隔离的基础。使用docker export导出容器 rootfs,通过chroot切换根目录。unshare命令可以创建一组全新命名空间,启动 s

#php#开发语言
Docker容器技术原理【第四课】

多个容器同时运行,高负载容器会抢占宿主机硬件,影响其他业务,CGroups 用来解决这个资源争抢问题。CGroups 通过子系统管理各类资源,把进程加入控制组实现配额限制,是容器必不可少的技术。CGroups(Control Groups)是 Linux 内核机制,对进程做分组管理,为分组设置资源限制,实现资源的限制、控制、监控,是容器核心技术之一。Docker、K8s 大量使用 CGroups

#云原生
Docker容器技术原理【第五课】

Docker 网络 = Linux 网络命名空间实现网络隔离 + veth 虚拟网卡 + 网桥 docker0 + iptables NAT 数据包转发,实现容器完整网络通信能力。Docker 借助 Linux 网络命名空间做网络隔离,提供 4 种网络模式:Host、Container、None、Bridge。4. Bridge 模式(Docker默认模式)2. Container 模式。Brid

#容器#docker#linux +1
云原生k8s【第一课】: Docker 容器技术

kubelet → CRI → cri‑dockerd → docker → containerd,cri‑dockerd 是适配器,用来让 k8s 可以对接 docker。镜像分层只读,容器写数据不会改动原镜像,会单独开一层可写层;容器删掉,可写层数据全部丢失,想要保存数据必须用卷。写时复制,修改文件就把文件拷贝到上层再改动。安装 docker、配置镜像加速,实操模拟 namespace、cgr

#k8s#云原生#运维 +1
云原生k8s【第二课】:K8s 部署与架构

所有节点装 kubeadm/kubelet/kubectl;master 用 kubeadm init 初始化集群;worker 拿命令加入集群;装上网络插件 Calico 集群网络才通。每个节点 kubelet 接收指令,调用容器运行时启动容器。给节点、Pod 打标签做标记;选择器通过标签筛选匹配资源,Service 就是靠标签找到后端 Pod。集群分为控制平面 master 节点 + work

#云原生#kubernetes#架构
云原生k8s【第三课】:Namespace(命名空间)

同一个物理 K8s 集群,可以切出多个逻辑隔离的虚拟小集群,这就是 Namespace,用来做多项目、多团队隔离,防止名字冲突。删除 namespace 会把这个命名空间里面所有 Pod、Service 等资源全部连带删掉。如果 namespace 卡在 Terminating 删不掉,一般是里面还有残留删不掉的资源。YAML 声明式创建,生产环境推荐 YAML+apply。第 6 节 Names

#kubernetes#docker#linux +1
    共 19 条
  • 1
  • 2
  • 请选择