实测有效!手把手带你将 Docker Image 体积减少 90%

news/2024/12/2 16:36:47/

Docker Image 体积越大,那部署要花的时间就越长;假如每个版本都有好几 GB,那并不是一个理想的状态;因此笔者开始动手实作,想看看到底能将 Docker Image 的体积缩小多少!

大纲
ㄧ、先初始化一个简易的 Node.js 专案
二、撰写 Dockefile,了解优化前体积有多大
三、使用 Node.js 的 Alpine 版本
四、正式环境下,不需要安装 devDependencies 的套件
五、如果我们只使用最基础的 Alpine,然后 Node.js 自己安装呢?
六、采用多阶段构建,取用上个阶段产生的结果
七、使用 Distroless 让正式环境更加安全 

ㄧ、先初始化一个简单的 Node.js 

# 建立文件夹
mkdir docker-test
cd docker-test# 初始化
npm init# 安裝 express
npm install express --save

初始化后的 package.json 大概会长这样(scripts 的 start 笔者有微调):

{"name": "docker-test","version": "1.0.0","description": "","

http://www.ppmy.cn/news/49470.html

相关文章

反垃圾邮件产品测试评价方法示意图

声明 本文是学习信息安全技术 反垃圾邮件产品技术要求和测试评价方法. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 反垃圾邮件产品测试评价方法 测试环境 反垃圾邮件产品的典型测试环境如图1所示。 图1 反垃圾邮件产品典型测试环境示意图 测试设…

微搭低代码实现投票功能

经常有一类需求,就是投票的功能,需要限制每一个选项每个人只可以投一票,投完之后需要统计票数。本篇教程我们讲解一下如何利用微搭低代码工具来实现投票功能。 1 设计数据源 我们需要设计一个数据源来记录用户的投票,如何限制用…

[5 种有效方法] 适用于 Android 的通用解锁图案/密码

在当今世界,保护您的密码对于您的文件和数据的安全至关重要,尤其是在第三方应用程序盛行的情况下。为这些应用程序注册帐户不是问题,就像记住它们一样。但是,如果您不知何故忘记了手机密码,您仍然可以在不丢失宝贵数据…

vsdcode更新includepath

vsdcode更新includepath $:gcc -v : g c c 8.3.0......... C O L L E C T L T O W R A P P E R / u s r / l i b / g c c / x 8 6 6 4 − l i n u x − g n u / 8 / l t o − w r a p p e r c d / u s r / l i b / g c c / x 8 6 6 4 − l i n u x − g n u / 8 , f i n d c…

Calico外宣ip

global peer 全局peer将所有的node对接到外部的bgp infra路由,需要infra支持 apiVersion: projectcalico.org/v3 kind: BGPPeer metadata:name: my-global-peer spec:peerIP: 192.20.30.40asNumber: 64567Configure a node to act as a route reflector 选择node…

【源码】Spring Cloud Gateway 是在哪里匹配路由的?

我们知道,经过网关的业务请求会被路由到后端真实的业务服务上去,假如我们使用的是Spring Cloud Gateway,那么你知道Spring Cloud Gateway是在哪一步去匹配路由的吗? 源码之下无秘密,让我们一起从源码中寻找答案。 入…

学习数据结构第6天(栈的基本概念)

栈的基本概念 栈的定义栈的基本操作栈的存储结构 栈的定义 栈(Stack)是一种基于先进后出(FILO)或者后进先出(LIFO)的数据结构,是一种只允许在一端进行插入和删除操作的特殊线性表。 栈按照先进后出的原则存储数据,先进入的数据被压入栈底,最…

04-waf绕过权限控制

WAF绕过-权限控制之代码混淆及行为造轮子 思维导图 后门工具介绍: 菜刀,蚁剑,冰蝎优缺点 菜刀:未更新状态,无插件,单向加密传输 蚁剑:更新状态,有插件,拓展性强,单向加…