k8s:如何快速制作自己的 images:非dockerfile方式
如题。?
说起来,还得是靠docker——对,Docker公司的docker产品。
因为docker是先驱、曾经的事实标准、是集大成着(或比较混杂)。
dockerd + docker 工具 可以完成 容器镜像 image 的直接 save、load,也支持运行的容器container直接打包【本质是Filesystem Hierarchy Standard,FHS合规】的tar包的export、import。
由此,我们可以在现有image或container的基础上,通过docker变相制作自己的image。
即:
contarinerd + ctr ----> dockerd + docker ----> 制作自己的image ----> contarinerd + ctr
需要注意:
k8s 运行在 contarinerd 的【k8s.io】的命名空间内;
docker 运行在 containerd的【moby】的命名空间内;
ctr 或说containerd 运行在 containerd的【default】的命名空间内;
附注1:
docker 的export 与 import 是 将运行的容器container打包成合乎FHS的普通tar包。这个tar包只能通过docker客户端工具使用,与ctr工具的export和import不同! docker的save与load才是将镜像image打包成离线便携的符合OCI规范的tar包并加载的功能。
ctr没有提供自定义镜像的功能!ctr只能通过export、imort功能来导出或加载离线便携的符合OCI规范的tar包。
附注2:
nerdctl 虽然号称兼容docker工具并增强了一些功能。
but
但是
nerdctl 并没有提供制作自定义image的相关功能! 它本质还是和ctr靠齐步的!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2021-10-18 Oracle:${ORACLE_HOME}/install/orabasetab:安装时就确定的的 ORACLE_BASE
2021-10-18 Oracle:db_12.2.0.1.0_Linux-x86-64:dbca 自定义模式:ORA-07202: sltln: invalid parameter to sltln.
2011-10-18 Use MVS Dsbame convensions. windows下ftp.exe客户端上传错误