理解 docker 和 kubernets
06 May 2025
理解 docker 和 kubernets
Cgroup 限制 docker 容器资源占用
深入理解docker和kubernetes(k8s): https://www.bilibili.com/video/BV1iML4zdEFq 
docker 容器的文件系统 overlay2 
docker commit
docker commit 是 Docker 中的一个命令,主要用于将当前容器的状态保存为一个新的镜像。 作用
- 保存容器状态:将正在运行的容器(包括文件修改、配置变更等)提交为一个新的镜像,便于后续重用或分发。
- 临时调试或备份:适用于调试场景或保存容器被入侵后的现场状态 [2]。
- 快速生成镜像:无需编写完整的 Dockerfile,直接通过容器变更生成镜像(但官方推荐优先使用 Dockerfile 定制镜像)。
基本用法
语法: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
常用选项:
-a:指定镜像作者(如-a "Your Name")。-m:添加提交信息(如-m "Added Apache")。
示例:
-
提交容器为镜像并命名:
docker commit -m "Installed Python" 39eaa5aa7332 python3.6-dev
其中39eaa5aa7332是容器 ID,python3.6-dev是新镜像名称 [7]。 -
带作者信息提交:
docker commit -a "Aomine" -m "Updated config" my_container my_image:latest
注意事项
- 非推荐做法:
docker commit生成的镜像缺乏透明性和可维护性,长期定制镜像应使用 Dockerfile [2][10]。 - 镜像分层:每次
commit会生成一个新镜像层,可能导致镜像臃肿 [6]。
docker 网络
docker bridge 网络(查看命令:sudo brctl show)

使用veth将network==none的busybox容器,接入dockerO bridge,并连通

使用 ip netns exec <container sandboxkey> netstat -ntpl 命令将宿主机上的工具在容器的network namespace 中运行 
Kubernetes 集群组件

安装 kubernets 包管理器:brew install helm
helm 官网
artifacthub 一个类似 docker hub 的 pod 包分发社区.
