../
// 如何制作出极小的超轻量Docker镜像
#import "/template.typ":doc-template

#doc-template(
title: "如何制作出极小的超轻量Docker镜像",
date: "2025年5月16日",
body: [

使用Ubuntu作为基础镜像构建出来的Docker镜像动辄几百MB,甚至上GB。但是实际上,运行一个二进制程序依赖的文件并不多,如果只保留运行程序必备的文件,势必能大量缩减镜像尺寸。

这里以一个Rust应用为例,尝试打包一个可以运行ripgrep的镜像,C/C++、Go等编译型语言也可以依葫芦画瓢。

= 准备文件

用`ldd`命令查看ripgrep的动态链接库依赖:

```
ldd /usr/bin/rg
```

得到:

```
linux-vdso.so.1 (0x00007bd80ef30000)
libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007bd80e912000)
libgcc_

...

Email: i (at) mistivia (dot) com