angular - 有什么方法可以优化 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。
解决方案
您的基本映像未压缩大小为 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)。
推荐阅读
- spring-boot - 我的 Spring Boot 应用程序卡住了一段时间,并在启动过程中一段时间后存在
- python - Correct orientation of an image based on 4 Qpoints
- regex - 当没有输入信息时,如何在 coq 问题中断言 (H4: [] = [] ++ [])?
- r - 我正在尝试在欧式看涨期权中实现 Euler Maruyama 算法,但每次运行该函数时都会出现不同的结果
- javascript - 优化PNG图片序列动画
- amazon-web-services - AWS Batch,AWS ECR:Docker 运行给出错误 x509:证书由未知机构签名
- oracle - ALL_CONSTRAINTS 和 ALL_CONS_COLUMNS 中的 OWNER 是否与表所有者相同?
- ubuntu - hcitool lescan 在 ubuntu 上失败
- python - Plotly 错误:OSError:522:客户端套接字超时
- java - 设置 log4j2 日志文件的相对路径