容器化上云之应用镜像化
【摘要】 容器化意味着应用软件需要以容器镜像的形式打包和分发,容器镜像的制作就成为了一个必不可少的环节。为了充分发挥容器化的优势,容器镜像制作应实现以下目标:l 环境无关:使容器镜像可以在多个环境中复用;l 构建尽可能的小的镜像:可以加快容器镜像分发和启动的速度;正式的容器镜像通常采用Dockerfile方式构建,在编写Dockerfile脚本时应该遵循以下最佳实践:l 一个容器内只运行一...
容器化意味着应用软件需要以容器镜像的形式打包和分发,容器镜像的制作就成为了一个必不可少的环节。为了充分发挥容器化的优势,容器镜像制作应实现以下目标:
l 环境无关:使容器镜像可以在多个环境中复用;
l 构建尽可能的小的镜像:可以加快容器镜像分发和启动的速度;
正式的容器镜像通常采用Dockerfile方式构建,在编写Dockerfile脚本时应该遵循以下最佳实践:
l 一个容器内只运行一个进程;
l 采用exec方式运行进程,使应用进程的PID为1,避免应用无法接收容器关闭的信号;
l 将变化频率相同的RUN指令合一,减小容器镜像的层数;
l 保持底层镜像的稳定,减少单次构建的增量文件大小;
l 删除多余的文件,减小镜像的大小;
l 使用合适的标签,增加镜像的可辨识性;
l 设置默认的环境变量、映射端口和数据卷;
l 使用USER命令做权限控制,使进程在普通用户权限下运行;
l 合理的选择基础镜像;
关于基础镜像,对于大型组织,可以在组织内建立一个共享的基础镜像体系,使分层镜像得到更大的复用。这类基础镜像体系通常采用树形结构,由不同部门维护不同层级的镜像,以便统一组织内的基础应用运行环境和软件技术栈。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)