0


使用docker-slim为你的docker镜像瘦身

当谈到技术和资源管理时,确实并非所有事物越大越好,这点尤其在 Docker 镜像的管理上体现得淋漓尽致。随着镜像大小的增加,云存储和运维成本也随之增加。因此,有效地减小 Docker 镜像的尺寸对于降低成本和提高效率至关重要。

举例来说,以hcymysql/mysql_slowquery:2024-07-04镜像为例,原始文件大小达到3.53GB。在这种情况下,使用 Docker-slim 工具可以显著地优化镜像,减少其占用的存储空间和资源。这种优化不仅可以节省云端存储成本,还能加速镜像的部署和传输过程,提升整体的效率和性能。

通过这种方式,不仅可以有效地管理资源消耗,还能够提高整体系统的可维护性和可扩展性,是现代云计算环境中不可或缺的一环。

使用docker-slim为你的docker镜像瘦身_HTTP

瘦身操作

登录后复制

shell>wget https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux.tar.gz
shell>tar zxvf dist_linux.tar.gz
shell>cd dist_linux

shell> ./docker-slim build \
--http-probe=false \--expose80\--expose3306\
--include-path=/var/www/html \
--include-path=/var/log/httpd \
--include-path=/run/httpd \
--include-path=/tmp \
--include-path=/data \
--include-path=/etc \
--include-path=/usr/ \
--include-path=/sbin/ \
--include-path=/root/ \
--include-path=/bin/ \
--include-bin=/usr/sbin/httpd \
--include-bin=/usr/libexec/mysqld \
--include-bin=/usr/bin/php \
--include-bin=/usr/bin/systemctl \
--include-bin=/bin/bash \--cmd"/usr/sbin/init"\<IMAGE ID>

参数解读

**1 ./docker-slim build**

这是运行

docker-slim

以构建一个新的优化后的 Docker 镜像的主要命令。

**2. --http-probe=false**

禁用 HTTP 探测功能。HTTP 探测用于自动检测并包含容器公开的 HTTP 端点所需的任何依赖项。

将其设置为

false

禁用此行为。

**3. --expose 80**

**--expose 3306**

显式公开端口 80(通常用于 HTTP)和 3306(通常用于 MySQL)。这是为了使这些端口可供外部访问。

**4. --include-path=<path>**

: 指定文件系统中要包含在优化镜像中的路径。列出的路径有:

  • /var/www/html:通常是 Web 服务器的根目录。
  • /var/log/httpd:包含 HTTP 服务器日志的目录。
  • /run/httpd:HTTP 服务器在运行时使用的目录。
  • /tmp:临时文件存储。
  • /data:通用数据目录。
  • /etc:配置文件。
  • /usr/:用户二进制文件和程序。
  • /sbin/:系统二进制文件。
  • /root/:root 用户的主目录。
  • /bin/:基本命令二进制文件。
**5. --include-bin=<binary>**

: 指定要包含在优化镜像中的单个二进制文件。列出的二进制文件有:

  • /usr/sbin/httpd:Apache HTTP 服务器。
  • /usr/libexec/mysqld:MySQL 服务器。
  • /usr/bin/php:PHP 解释器。
  • /usr/bin/systemctl:Systemd 服务管理器。
  • /bin/bash:Bash shell。
**6. --cmd "/usr/sbin/init"**

: 指定容器启动时要执行的命令。在本例中,是

init

进程,它是内核启动的第一个进程,并且是所有其他进程的祖先。

**7. 7b0278943ae0**

: 这是要优化的 Docker 镜像的 ID。

docker-slim

将使用这个镜像作为基础来创建一个更小、更优化的版本。

瘦身后docker镜像

总结

Docker-slim 是一款强大的工具,它能够在不改变 Docker 容器映像内容的情况下,将其缩小多达 30 倍。它利用先进的分析技术来理解应用程序,从而精准地优化容器。这种优化过程包括丢弃不必要的组件和资源,从而减少容器的资源占用。通过这种精准的优化,Docker-slim 不仅能有效节省存储空间和云端成本,还能提升容器的整体性能和安全性。

标签: docker 容器 运维

本文转载自: https://blog.csdn.net/cnzzs/article/details/140310551
版权归原作者 egzosn 所有, 如有侵权,请联系我们删除。

“使用docker-slim为你的docker镜像瘦身”的评论:

还没有评论