# docker 镜像瘦身工具 docker-slim



> docker-slim 的主要作用是对 docker 镜像进行瘦身的工具。经过瘦身处理的镜像会变小一些甚至变小数倍，且瘦身收仍然可以正常运行。详情请见官方网站： https://dockersl.im/

### 安装

在官网获取最新包的下载地址：https://dockersl.im/install.html，然后执行如下命令安装。

```bash
wget https://downloads.dockerslim.com/releases/1.37.6/dist_linux.tar.gz
tar zxf dist_linux.tar.gz && mv dist_linux/* /usr/local/bin/ && docker-slim --version
```

### 使用

1、可以直接对已经存在的镜像进行瘦身

```bash
[root@test docker-slim]# docker images spring-native-demo
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
spring-native-demo   0.0.1               ad316c960911        19 hours ago        192MB
[root@test docker-slim]# docker-slim build --http-probe=false spring-native-demo 
[root@harbor docker-slim]# docker images spring-native-demo*
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
spring-native-demo.slim   latest              430d84da86bf        2 minutes ago       63.8MB
spring-native-demo        0.0.1               ad316c960911        19 hours ago        192MB
```

如上示例是我的一个 springboot 打包后的一个很普通的镜像，瘦身前 192MB，瘦身后 63.8MB，瘦身效果明显。

2、也可以直接基于 Dockerfile 构建镜像

```bash
docker-slim build --dockerfile ./Dockerfile --tag shanhy/spring-native-demo.slim:0.0.1 .
```

了解更多参数可以使用命令 docker-slim build --help 查看，或者详见官网文档。

> 如果你比较细心的话，可能你已经发现 dockerhub 上的很多镜像都有tag尾缀为 slim 的镜像了。

### 使用

1、可以直接对已经存在的镜像进行瘦身

```bash
[root@test docker-slim]# docker images spring-native-demo
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
spring-native-demo   0.0.1               ad316c960911        19 hours ago        192MB
[root@test docker-slim]# docker-slim build --http-probe=false spring-native-demo 
[root@harbor docker-slim]# docker images spring-native-demo*
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
spring-native-demo.slim   latest              430d84da86bf        2 minutes ago       63.8MB
spring-native-demo        0.0.1               ad316c960911        19 hours ago        192MB
```

如上示例是我的一个 springboot 打包后的一个很普通的镜像，瘦身前 192MB，瘦身后 63.8MB，瘦身效果明显。

2、也可以直接基于 Dockerfile 构建镜像

```bash
docker-slim build --dockerfile ./Dockerfile --tag shanhy/spring-native-demo.slim:0.0.1 .
```

了解更多参数可以使用命令 docker-slim build --help 查看，或者详见官网文档。

> 如果你比较细心的话，可能你已经发现 dockerhub 上的很多镜像都有tag尾缀为 slim 的镜像了。
