Docker
IceberGu
icebergu.com
展开
-
镜像构建时使用 ARG 导致镜像缓存失效
工作中发现项目在镜像构建时,即使没有修改 go.mod 也依然会执行 go mod download 来拉取依赖,而不是使用镜像缓存,导致每次构建时间都很长经过排查发现是使用 ARG 导致的镜像缓存失效构建镜像时可以使用 ARG 指令来设置构建环境的环境变量首先在 Dockerfile 中 ARG 指令定义参数名称,设置默认值ARG < name >[=< default value >]docker build 时使用 --build-arg <name>.原创 2020-11-06 17:59:35 · 481 阅读 · 4 评论 -
Runc 与 Cgroups
Runc 可以算是启动创建容器的最后一步,其中设置 Cgroups,隔离 namespaces,配置网络,挂载相应的卷 等一系列操作本文将主要讲 runc 是如何去操作系统中的 Cgroups,实现对资源的限制和管理的Runc 支持三种方式来限制管理资源,分别是使用 Cgroups V1, Cgroups V2, Systemd本文将主要讲解 Cgroups V1, 关于 Cgroups V1 相关的基本概念可以参考 Linux Cgroups V1 介绍与使用Cgroup ManagerCgr原创 2020-05-13 15:03:03 · 14384 阅读 · 0 评论 -
Linux Cgroups V1 介绍与使用
简介Cgroups 全称 Control Group,是 Linux 内核提供的物理资源隔离机制,通过这种机制,可以针对一组进程或线程设置资源权重,统计资源使用量,操纵启停等Cgroups 可以限制,记录一组进程或者线程所使用的的物理资源(CPU, Memory, IO 等),是 LXC 实现虚拟化所使用的的资源管理手段本质上来讲,cgroups 是内核附加在程序上的一系列钩子(hook), 通过程序运行时对资源的调度触发相应的钩子已达到资源追踪和限制的目的Cgroups 概念很多文章都写 ta原创 2020-05-12 13:43:38 · 16325 阅读 · 0 评论