| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> Alpine?Distroless?Busybox?到底谁才是容器镜像的瑞士军刀? -> 正文阅读 |
|
[开发测试]Alpine?Distroless?Busybox?到底谁才是容器镜像的瑞士军刀? |
大多数情况下,我们构建容器镜像时选择的基础镜像无外乎是 那么问题来了,为什么这几个基础镜像如此受欢迎呢? 我们先来看下这几个基础镜像的大小:
可以看到这些镜像的体积都非常小,几乎可以忽略不计。 Busybox先启动一个 Busybox 容器进去一探究竟: 这个镜像的大小只有 事实上这一切都要归功于 顾名思义,Multi-Call binary 就是多重调用二进制文件,是一个用C语言编写的程序,它允许多次调用来执行二进制文件。它包含了很多函数,每个执行独特动作的函数都可以通过一个名字来调用,这个名字同时也是 Multi-Call binary 的一个符号链接。Multi-Call binary 最好的应用范例便是 Busybox。 Busybox 里面的函数可以通过两种方式来调用:
例如: 很明显,这些不是我们所熟知的 GNU 二进制文件,因为所有的二进制文件都具有相同的属性,比如大小、日期等。这些都不是独立的二进制文件,而是 Multi-Call binary 每个调用函数的别名。这个 Multi-Call binary 就叫 遗憾的是,这些 Busybox 命令并不完全等同于 GNU 命令,某些命令的某些参数是无法执行的,相当于阉割版。 Alpine看完了 Busybox,我们再来看看 Alpine 是怎么做的。 巧了,Alpine 的二进制文件竟然是指向 busybox 二进制文件的,这就很明显了,Alpine 镜像的底层使用了 busybox 二进制文件。除此之外,Alpine 还包含了 Distroless
可以看到这个镜像中既没有
该镜像只有一层,大小为 3MB,也没有二进制文件,只有一些证书文件和目录。如果向下滚动,还能看到许可证和时区配置。看来 Distroless 采取的是非常极端的手段,直接把不需要的二进制文件全部抛弃了,只留下一个空镜像和部分必需品。 总结由此看来,这几个基础镜像如此受欢迎的主要原因就是体积小。镜像越小,漏洞就越少,可攻击面也会大幅减少,而且很容易维护。所以大家构建镜像时尽量选择这些镜像作为基础镜像。 引用链接[1] Google: https://github.com/GoogleContainerTools/distroless 你可能还喜欢 点击下方图片即可阅读 云原生是一种信仰????? 关注公众号 后台回复?k8s?获取史上最方便快捷的 Kubernetes 高可用部署工具,只需一条命令,连 ssh 都不需要! 点击?"阅读原文"?获取更好的阅读体验! 发现朋友圈变“安静”了吗? |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 0:43:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |