首页 > 其他分享 >三、利用 Docker-Slim 缩小 Docker 镜像大小

三、利用 Docker-Slim 缩小 Docker 镜像大小

时间:2023-08-24 22:25:24浏览次数:45  
标签:slim dist tar Slim linux 镜像 Docker

有时项目构建出来的Docker大小挺大的,找了好几个缩小Docker 镜像的方法,在这里分享一个很棒的方法来优化和缩小 Docker镜像并减小镜像体积大小。

Docker-Slim

Docker-Slim 不会更改 Docker 容器映像中的任何内容并将其缩小多达 30 倍。 Docker-Slim 将通过使用各种分析技术了解您的应用程序及其需求来优化和保护您的容器。它会丢弃你不需要的东西,减少容器的攻击面。

Github:Docker-Slim

安装

手动安装

  1. 下载对应平台的包。

  2. 解压缩包,并选择性的将其移动到 bin 目录。

Linux:dist_linux

tar -xvf dist_linux.tar.gz
mv  dist_linux/docker-slim /usr/local/bin/
mv  dist_linux/slim-sensor /usr/local/bin/
mv  dist_linux/slim /usr/local/bin/

苹果电脑:

unzip ds.zip
mv  dist_mac/docker-slim /usr/local/bin/
mv  dist_mac/docker-slim-sensor /usr/local/bin/
  1. 将解压缩包的位置添加到 PATH 环境变量中(可选)。

如果提取二进制文件的目录不在 PATH 中,则需要从该目录运行 Slim 应用二进制文件。

脚本安装

脚本

你可以使用此脚本在Linux(x86和ARM)和macOS(x86和Apple Silicon)上安装当前版本的Slim。

curl -sL https://raw.githubusercontent.com/slimtoolkit/slim/master/scripts/install-slim.sh | sudo -E bash -

Mac:

brew install docker-slim

Docker:

/* docker pull dslim/slim */
p { font-size: 14px; }

如何使用

docker pull nginx

docker images | grep nginx

image

docker-slim build --http-probe=false --target nginx:latest --tag nginx:slim

image

默认会开启http的探测(--http-probe)。我们build的时候给他关上

我们看到 nginx 镜像从 142MB 减到了 12.4MB,至此,本次教程就到这里了。

标签:slim,dist,tar,Slim,linux,镜像,Docker
From: https://www.cnblogs.com/shyurongli/p/17655277.html

相关文章

  • docker想保留ip和端口其他的不要,想把这个变成linux的命令怎么做?
    docker想保留ip和端口其他的不要,想把这个变成linux的命令怎么做?dockerps只会显示这样一坨东西,看ip和端口又不好看456746ec7581moxi/mogu_blog_nacos"/usr/sbin/init"12hoursagoUp12hours0.0.0.0:465->465/tcp,:::465->465/tcp,0.0.0.0:3306->3306/tcp,:......
  • Docker下搭建Redis集群
    一、Redis集群方案的简单介绍Redis集群的方案一般分为三种:哈希取余分区一致性哈希算法分区哈希槽分区(本文介绍的就是这种) 1、哈希取余分区:优点:简单粗暴,只要提前预估好数据量,然后规划好节点,例如:3台、30台、300台节点,就能保证未来一段时间内的数据支撑。 缺点:事先规......
  • 随笔(三十)『Dockerfile 构建ubuntu镜像练习』
    1、将需要用的java8传到宿主机,同级目录下创建Dockerfile2、编写DockerfilevimDockerfile#基础镜像来自哪里FROMFROMubuntu#作者信息MAINTAINERMAINTAINERshendian#定义个环境变量ENVENVMYPATH/usr/local#进入容器后的位置WORKDIRWORKDIR$MYPATH#镜......
  • Docker 本地私有仓库
    目录一、本地私有仓库二、搭建本地私有仓库1.下载registry镜像2.在daemon.json文件中添加私有镜像仓库地址3.运行registry容器4.镜像打新标签5.上传到私有仓库6.列出私有仓库的所有镜像7.列出私有仓库的centos镜像有哪些tag8.私有仓库下载镜像一、本地私有仓库......
  • adocker yml如何操作才能让搭建的redis集群能通过外网访问ip+端口的集群所有信息
    要在Docker中操作以便通过外部网络访问Redis集群的IP和端口,您需要执行以下操作:首先,您需要创建一个DockerComposeYAML文件(docker-compose.yml),用于定义Redis集群的配置。在此文件中,您可以指定每个Redis节点的配置和网络设置。以下是一个示例配置:version:'3'services:redis1:......
  • docker安装elasticsearch和kibana
    下载镜像和启动镜像:dockersearchelasticsearchdockerpullnshou/elasticsearch-kibanadockerrun-d-p9200:9200-p9300:9300-p5601:5601--nameeskibananshou/elasticsearch-kibana访问:http://127.0.0.1:9200/访问:http://127.0.0.1:5601/参考:http://www.51gjie.com......
  • Docker 安装 OpenResty教程
    Docker部署1.拉取镜像PSC:\Users\Administrator>dockerpullopenresty/openresty2.启动openrestyPSC:\Users\Administrator>dockerrun-d--nameopenresty-p9000:80openresty/openresty3.创建挂载目录PSC:\Users\Administrator>mkdir-p/docker/openre......
  • 【问题解决】容器部署MySQL的数据在docker commit导出的镜像中丢失
    问题起因最近公司有个甲方项目参加竞赛,要求在(基于kubeflow/arena)平台上部置应用,可以将MySQL打包在应用一起,也可以分开部署,没有提供volume相关的支持。大意是可以把初始好的数据直接拿到平台上。经过本人在Linux虚机中启动MySQL容器导入数据再dockercommit出镜像部署到平台......
  • Docker-Swarm启动服务一直处于New状态
    一、情况描述​ 近期有个项目的开发环境需要迁移nas挂载盘,需要把开发环境的服务停止,待迁移完成后重启服务。​ 该环境使用的docker-swarm启动服务,之前考虑的是swarm是docker原生支持的,启动方便,命令也较为简单,能够满足使用需求。待更换nas盘完成,通知我启动服务。​ 按照正常......
  • docker-swarm的负载均衡(LB)策略-dnsrr与vip
    在DockerSwarm中,DNSRR(DNSRoundRobin)和VIP(VirtualIP)是两种常见的负载均衡策略,它们各自有不同的作用和特点。DNSRR(DNSRoundRobin)负载均衡策略:作用:DNSRR策略通过对域名解析返回多个后端服务的IP地址来实现负载均衡。每个请求都会被依次分发到这些IP地址中的一个。特点:简单......