随笔 - 746  文章 - 0  评论 - 39  阅读 - 79万

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靠齐步的!

 

 

 

  

posted on   jinzhenshui  阅读(304)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需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客户端上传错误

点击右上角即可分享
微信分享提示