k8s pod生命周期、初始化容器、钩子函数、容器探测、重启策略(k8s和docker区别)
564
2022-05-30
容器化意味着应用软件需要以容器镜像的形式打包和分发,容器镜像的制作就成为了一个必不可少的环节。为了充分发挥容器化的优势,容器镜像制作应实现以下目标:
l 环境无关:使容器镜像可以在多个环境中复用;
l 构建尽可能的小的镜像:可以加快容器镜像分发和启动的速度;
正式的容器镜像通常采用Dockerfile方式构建,在编写Dockerfile脚本时应该遵循以下最佳实践:
l 一个容器内只运行一个进程;
l 采用exec方式运行进程,使应用进程的PID为1,避免应用无法接收容器关闭的信号;
l 将变化频率相同的RUN指令合一,减小容器镜像的层数;
l 保持底层镜像的稳定,减少单次构建的增量文件大小;
l 删除多余的文件,减小镜像的大小;
l 使用合适的标签,增加镜像的可辨识性;
l 设置默认的环境变量、映射端口和数据卷;
l 使用USER命令做权限控制,使进程在普通用户权限下运行;
l 合理的选择基础镜像;
关于基础镜像,对于大型组织,可以在组织内建立一个共享的基础镜像体系,使分层镜像得到更大的复用。这类基础镜像体系通常采用树形结构,由不同部门维护不同层级的镜像,以便统一组织内的基础应用运行环境和软件技术栈。
容器
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。