创建React的Docker镜像时,有一种方法可以减小其大小

曾经做过的事情

    マルチステージビルドを行う

实际的 Dockerfile

FROM debian:bullseye-slim as build

WORKDIR /app

COPY . .

RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update \
&& apt-get install -y yarn nodejs npm \
&& npm install npx -g \
&& npx webpack --mode production \
&& rm -rf /var/cache/apt

FROM debian:bullseye-slim as deploy

WORKDIR /app

COPY --from=build /app/public /app/public

...

仅仅删除 node_modules,实际图像大小就减少到了1/3以下。
虽然在其他编译型语言中已经知道多阶段构建非常有效,但在React中这也是一个好的发现。

結束之時

最后我简洁地说一下,只要启动Nginx或者其他能够托管静态文件的东西,就可以顺利访问。

广告
将在 10 秒后关闭
bannerAds