首页 > 解决方案 > 有什么方法可以优化 Docker Image 的大小吗?

问题描述

我有使用 V10 在本地运行的 Angular 应用程序。我正在尝试在 Dockerfile 的帮助下构建 Docker 映像。但是在构建映像时,我的 Docker 映像大小正在构建为 1.32GB。有什么办法可以减小它的大小?

下面是我写的 Dockerfile

# base image
FROM node:12.2.0

# set working directory (also creates two folders needed for cypress)
RUN mkdir /usr/src/app && mkdir /usr/src/app/cypress && mkdir /usr/src/app/cypress/plugins
WORKDIR /usr/src/app

# add `/usr/src/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH

# install app and cache app dependencies
COPY . /usr/src/app
RUN npm install --silent
EXPOSE 4200
# start app 
CMD ["npm", "run", "ng serve"]

请注意:- 本地根文件夹显示属性为 1,14,774 项,总计 1.3 GB。

标签: angulardockeroptimizationdocker-image

解决方案


您的基本映像未压缩大小为 906MB。我建议您尝试使用150MB的超薄版本。

# base image
FROM node:12.2.0-slim

# set working directory (also creates two folders needed for cypress)
RUN mkdir /usr/src/app && mkdir /usr/src/app/cypress && mkdir /usr/src/app/cypress/plugins
WORKDIR /usr/src/app

# add `/usr/src/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH

# install app and cache app dependencies
COPY . /usr/src/app
RUN npm install --silent
EXPOSE 4200
# start app 
CMD ["npm", "run", "ng serve"]

还有更小的alpine 版本(77.7MB)。


推荐阅读