持续交付 36 讲
王潇俊
携程系统研发部总监
39682 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
开篇词 (1讲)
结束语 (1讲)
持续交付 36 讲
15
15
1.0x
00:00/00:00
登录|注册

18 | 如何做好容器镜像的个性化及合规检查?

允许用户发布任何镜像
基于官方提供的Base镜像
例如:JaCoCo服务
提供复杂功能的服务
例如:安装Wget
提供常用环境变更功能
漏洞分级别
对漏洞进行预警
自动触发Clair进行镜像安全扫描
安全的Linux内核、内核补丁
不使用--privileged参数标记
不在镜像保存敏感信息
不使用root启动应用进程
基础镜像来自Docker官方认证
完全自定义镜像发布
自定义Base镜像
服务集市
环境选项
缺点:构建镜像需要用完就删,多个项目需引用同一脚本文件
满足构建代码和构建镜像的个性化需求
.paas目录中的build-env.sh和image-env.sh
方案:Harbor与CoreOS Clair结合使用
基本建议
自定义镜像发布
平台化环境选项与服务集市
用户自定义环境脚本
镜像安全合规检查
个性化需求满足方法
如何实现容器镜像的个性化

该思维导图由 AI 生成,仅供参考

你好,我是王潇俊。我今天分享的主题是:如何做好容器镜像的个性化及合规检查。
你是否还记得我在第 13 讲篇文章《容器技术真的是环境管理的救星吗?》中说到:容器不是银弹,镜像发布无法很好地满足用户的个性化需求?
在携程的发布标准化中,容器内的环境也是由发布系统定义的,用户即使登录到容器上去做变更,下一次发布之后还是会被回滚回来。但是,对 Dockerfile 的编写和控制需要一定的学习成本,因此我们又不可能将镜像的内容与构建流程完全交给用户来自定义。
于是,就有了我今天的分享,即如何做好容器镜像的个性化及合规检查?根据我在持续交付道路上摸爬滚打的实践经验,总结了以下三种方法来满足用户对容器镜像个性化需求:
自定义环境脚本;
平台化环境选项与服务集市;
自定义镜像发布。
接下来的内容,我将根据这三种方法展开,并将介绍如何通过合规检查来规避个性化带来的风险。

用户自定义环境脚本

我们允许用户在编译后的代码包内放入包含自定义环境脚本的 .paas 目录(这是一个自定义的隐藏目录),来满足用户对环境的个性化需求。
这个.paas 目录中,可能会存在 build-env.sh 和 image-env.sh 两个文件,分别运行于构建代码和构建镜像的过程中。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了容器镜像个性化及合规检查的方法。作者提出了三种满足用户个性化需求的方式:自定义环境脚本、平台化环境选项与服务集市、自定义镜像发布。这些方法为用户提供了灵活的个性化定制选项,并通过合规检查规避个性化带来的风险。在安全合规检查方面,携程采用了Harbor与CoreOS Clair结合使用的方案,通过Clair进行镜像安全扫描,并对可能成为威胁的漏洞发出预警。此外,文章还总结了一些基本的安全规则建议,如基础镜像来源认证、不使用root启动应用进程等。总的来说,文章分享了满足用户对镜像个性化需求的三种方式,并提出了安全合规检查的基本建议,为读者提供了一些实践参考。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《持续交付 36 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • Edward
    请教一下,学习docker从哪里入手,或者什么书籍,视频推荐呢

    作者回复: docker官方文档:)

    2018-08-14
  • 何雁秋
    个性化的东西不应该被引入到base, 可以单独创建一个工具镜像,仅仅用于开发测试用, 而不能被发布到生产。
    2022-08-15归属地:上海
  • 戴斌
    我们在实践过程中,发现阿里云的安全能不能扫描容器内的安全漏洞。同时,也在寻找容器安全的解决方案,感谢老师分享
    2020-03-22
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部