我们在部署新项目时,不知道启动的容器都占用了那些端口,docker ps 眼花缭乱。但是 docker 没有提供端口有关的命令,我们可以使用netstat看一下。

1 查看使用端口映射启动的容器占用的端口列表命令

1
netstat -nlp |grep docker-proxy|awk '{print $4}'|sort

2 查看所有监听中的tcp端口(包含不是docker占用的)

1
netstat -ntlp

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

安装

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

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、可以直接对已经存在的镜像进行瘦身

[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 构建镜像

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

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

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