Docker-slim 是一个用于 Docker 镜像瘦身的工具,通过静态和动态分析将大镜像转变为缩略镜像,同时确保镜像仍然可以正常运行。

主要优势

  • 静态分析:获取镜像的历史信息,追踪生成镜像的 Dockerfile 文件,以及设置的 port、cmd、entrypoint 等数据。
  • 动态分析:通过内核工具(如 ptrace、pevent、fanotify)解析出镜像中必要的文件和文件依赖,并将对应文件组织成新镜像。
  • 便捷使用:使用简单的命令即可优化 Docker 镜像,减少镜像体积,提升部署效率。

如需了解更多信息,可以访问其官方网站或查阅相关的技术文档。

搭建教程

本文通过 Docker 的方式来部署 Docker-slim,以 Ubuntu 为例,操作步骤如下:

第一步:安装 Docker

sudo apt update
sudo apt install -y docker.io

第二步:拉取 Docker-slim 镜像

sudo docker pull dslim/slim
Using default tag: latest
latest: Pulling from dslim/slim
29bdde8bd6f2: Pull complete 
cf5635ce3ebd: Pull complete 
ce3e9aaa10d6: Pull complete 
Digest: sha256:27859c6a566658d7a27748818f3d23b592fa52a134c53bc0358e77fb14168936
Status: Downloaded newer image for dslim/slim:latest

第三步:拉取其他镜像

sudo docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
b0a0cf830b12: Pull complete 
8ddb1e6cdf34: Pull complete 
5252b206aac2: Pull complete 
988b92d96970: Pull complete 
7102627a7a6e: Pull complete 
93295add984d: Pull complete 
ebde0aa1d1aa: Pull complete 
Digest: sha256:ed6d2c43c8fbcd3eaa44c9dab6d94cb346234476230dc1681227aa72d07181ee
Status: Downloaded newer image for nginx:latest

查看镜像大小:

sudo docker images | grep nginx
nginx        latest    7383c266ef25   12 days ago    188MB

第四步:通过 Docker-slim 构建新镜像

sudo docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim build nginx

再次查看镜像大小:

sudo docker images | grep nginx
nginx.slim    latest    e079f3e78783   4 seconds ago    13.3MB
nginx         latest    7383c266ef25   12 days ago      188MB

第五步:启动容器运行新镜像

sudo docker run --name myNginx -p 8000:80 -d nginx.slim

指令执行完成后,容器指定 8000 端口访问的,因此还需要在服务器的防火墙上打开相应的端口。在浏览器访问 IP:8000 即可。

Nginx 瘦身镜像


END
本文作者:
文章标题: Docker-slim:轻松瘦身 Docker 镜像的高效工具
本文地址: https://www.haovps.top/archives/278.html
版权说明:若无注明,本文皆 高性能VPS推荐与IT技术博客 | Haovps.Top 原创,转载请保留文章出处。
cc
最后修改:2024 年 07 月 22 日
如果觉得我的文章对你有用,请随意赞赏