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": "",
"