千家信息网

如何最小化docker镜像

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下如何最小化docker镜像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如何让镜像尽可能小很容器想到fr
千家信息网最后更新 2026年11月03日如何最小化docker镜像

小编给大家分享一下如何最小化docker镜像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

如何让镜像尽可能小

很容器想到from scratch, 就是没任何基础镜像

FROM scratchCOPY p /ENTRYPOINT ["/p"]

有几点要注意:

  • ENTRYPOINT 或者CMD 必须要用[]这种模式,如果直接/p会用sh去启动,而scratch没有shell导致失败

  • 二进制程序必须静态编译,也就是不能依赖libc什么的动态库

动态编译的bin程序:

[root@dev-86-205 ci-sftp]# ldd p    linux-vdso.so.1 =>  (0x00007ffd6ef7b000)    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa28f94e000)    libc.so.6 => /lib64/libc.so.6 (0x00007fa28f58d000)    /lib64/ld-linux-x86-64.so.2 (0x00007fa28fb72000)

这种情况下出来的bin程序可能会出现问题:

standard_init_linux.go:175: exec user process caused "no such file or directory"

静态编译的bin程序,这是我们scratch需要的:

[root@dev-86-205 ci-sftp]# ldd p    不是动态可执行文件

golang中静态编译命令:

go build --ldflags '-linkmode external -extldflags "-static"'

如果不静态编译那可能得拷贝一堆动态库到镜像中,很多lowB就是那么做的

以上是"如何最小化docker镜像"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

镜像 编译 动态 程序 静态 篇文章 最小 内容 就是 不怎么 也就是 二进制 命令 基础 大部分 容器 尽可能 情况 拷贝 文件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技园 广州大一互联网络科技有限公司 互联网科技财经 圆梦互联网科技 上海挚品互联网科技 礼当家互联网科技 互联网科技上市公司 科技互联网公司logo 互联网 科技服务平台 深圳卡尔迅互联网科技有限公司怎么样 互联网实体化科技化 玖二柒互联网科技公司待遇 北京华百购互联网科技有限公司 南山科技园互联网公司有哪些 湖南一路畅行互联网科技 乌鲁木齐新华智原互联网科技学校 半导体是互联网高科技吗 工业互联网科技创业 互联网科技收购价值 上海旺乐尼互联网科技有限公司 南京欣网互联网络科技有限公司 极限挑战互联网科技 互联网科技公司做什么 互联网科技博主是什么意思 互联网系的金融科技公司 科技互联网大厂 黑科技闪耀互联网之光 湖南一路畅行互联网科技 乌鲁木齐新华智原互联网科技学校 互联网科技股为什么大涨
0