乘风破浪,遇见最美Windows 11之现代Windows开发运维 - Docker容器化镜像使用规范总结

背景

在通过Docker使用和打包容器化镜像的时候,很容易因为一些不规范的操作引发不必要的麻烦,下面总结一些规范项供参考。

image

总结

建议 描述
镜像构建 除系统镜像外所有的Docker镜像都建议采用Dockerfile方式进行构建。
镜像一经创建不能修改 避免手工修改运行中的容器并提交镜像,否则无法保障镜像内容的可追溯性。
镜像统一由镜像仓库管理 所有Docker镜像统一提交到镜像仓库,并对镜像仓库进行授权管理。
镜像Tag管理,不允许使用Latest作为默认Tag 所有Docker镜像必须利用Tag进行版本管理;引用Docker镜像时必须指明Version Tag;不允许利用缺省Latest Tag作为默认Tag。
Docker镜像应该自包含 Docker镜像应该是自包含的,应该包括应用所需的基础镜像、应用依赖和标准配置模板。
禁止依赖不明来源的基础镜像 DockerHub的官方镜像和Docker Store的认证镜像经过代码扫描,可以信任;DockerHub的三方镜像或其他不明来源的镜像可能存在安全风险,使用需谨慎。
不允许镜像内保存源代码 建议通过多阶段构建在Dockerfile中将应用的编译和最终交付镜像构建分离,这样也会减少镜像体积;对于直接使用源代码的应用程序,比如Ruby、PHP等,可考虑使用混淆等技术。
不允许在镜像内保存安全凭证、密钥 建议使用环境变量或者配置文件的方式,或通过K8S Secret传递敏感信息。
镜像中是否过多的使用依赖 基础镜像中只包含必要的软件包,一方面减少基础镜像大小,一方面降低安全风险;如果从外部下载软件包到容器,建议通过MD5/SHA256签名来验证防止内容被篡改。
posted @ 2022-08-17 15:28  TaylorShi  阅读(214)  评论(0编辑  收藏  举报