我们通过`docker pull` 下载的他人或机构打包的docker镜像,发现镜像文件很大,里面有很多跟运行程序无关的库、包等文件,比如 Nvidia的tritonserver镜像,一下子十几二十个GB,非常臃肿且不利于镜像分发、部署。这个时候我们就想删除那些无用的文件,得到一个精简的镜像。
那么,如何给docker镜像瘦身呢?以下示例以镜像 `fat:1.0`为例。
## 1. 运行该镜像,进入bash
```
docker run -it fat:1.0 /bin/bash
```
## 2. 在fat镜像运行的容器里面,删除无用文件
## 3. export 修改后的 容器
在宿主shell里面,通过 `docker ps` 查看fat镜像运行的容器的id,假设是 aeee1b9292c7
```
docker export aeee1b9292c7 -o fat-thin.tar
```
这样我们就得到瘦身后的镜像文件 `fat-thin.tar`
## 4. import 瘦身后的镜像文件
```
docker import fat-thin.tar fat-tin:1.0
```
然后就可以使用`fat-thin:1.0` 制作自己的应用镜像了。