Docker知识点汇总(6~10)

6.说明你最熟悉的一种构建 Docker 镜像的方法。

使用Dockerfile定义构建步骤,通过docker build命令执行。Dockerfile 是一个文本文件,里面通过像 FROM、COPY、RUN 这样的指令来定义镜像的每一层先选择一个合适的基础镜像,然后拷贝代码,安装依赖,设置启动命令等。每一条指令都会生成一个镜像层,这样构建出来的镜像层次清晰,易于维护和复用,也容易集成到 CI/CD 流程中。

7.在进行容器的隔离时都用到了哪些 Namespace?

答:cgroup ns:隔离 CGroup 视图。

ipc ns: 隔离进程间通信资源。

mnt ns: 隔离文件系统挂载点。

net ns: 隔离网络资源。

pid ns: 隔离进程 ID。

user ns: 隔离用户和用户组 ID。

uts ns: 隔离主机名和域名。

8. 请描述手工创建一个类容器对象的操作都有哪些?

答:导出容器文件系统(如使用 docker export)。

解压文件系统至本地目录(如 rootfs)。

使用 unshare 命令创建新的命名空间集合(如 --mount --uts --ipc --net --pid --fork --user)。

使用 chroot 切换根目录至解压的文件系统。

挂载 /proc 等虚拟文件系统以实现进程等资源的隔离。

通过 ip netns 等工具配置隔离的网络环境。

9. 请说明 CGroups 对于容器运行有什么重要作用。

答:资源限制:限制容器对 CPU、内存、磁盘 I/O 等物理资源的使用。

优先级控制:为不同容器分配资源使用权重。

资源监控:统计容器资源使用情况。

进程控制:支持挂起、恢复及终止容器内进程。

CGroup 是容器实现资源隔离与管控的基础,确保多个容器在同一主机上稳定运行。

10. CGroups 是如何控制容器资源使用的,请举例说明。

答:例如控制内存使用:

在 /sys/fs/cgroup/memory/ 下创建控制组目录(如 demo)。

将demo内存控制组的最大内存使用量限制在100M

将容器进程 PID 写入该组的 tasks 文件。

当容器进程内存使用超过限制时,CGroup 会终止相应进程。

相关推荐
无奈笑天下7 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
威嵌神州11 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__12 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo13 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
xbzb14 小时前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
打工仔折腾 AI18 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
无奈笑天下18 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
fengkai454518 小时前
Prometheus+K8s弹性伸缩综合项目
运维·kubernetes·k8s·prometheus·hpa·vpa
分布式存储与RustFS20 小时前
镜像仓库的层别只堆本地盘:用 RustFS 给 Harbor 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
xbzb1 天前
自建镜像仓库:registry 一条命令 + harbor 部署、授权、跨库同步与卸载
docker·harbor·镜像·仓库·同步·registry