From 1e9d2e786a6994a51aabf953c4826b29ebcab0b1 Mon Sep 17 00:00:00 2001 From: Igor Beliakov Date: Tue, 21 Jan 2025 20:57:21 +0100 Subject: [PATCH] chore(dockerfile): optimize image size Signed-off-by: Igor Beliakov --- Dockerfile | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index adb7fa0c4a..92bd5351fa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,26 +8,22 @@ COPY packages/cli/package.json /build/packages/cli/ COPY packages/core/package.json /build/packages/core/ COPY packages/cli/bin/ /build/packages/cli/bin/ -RUN npm ci --no-optional --ignore-scripts - # Copy rest of the files COPY . /build/ -RUN npm run prepare -# Install redocly-cli globally, similar to npm install --global @redocly/cli -# but the local package is used here -RUN apk update && apk add jq && \ - apk add git && \ +RUN npm ci --no-optional --ignore-scripts && \ + npm run prepare && \ + # Install redocly-cli globally, similar to npm install --global @redocly/cli + # but the local package is used here + apk add --no-cache jq git && \ npm run pack:prepare && \ - npm install --global redocly-cli.tgz - -# npm pack in the previous RUN command does not include these assets -RUN cp packages/cli/src/commands/preview-docs/preview-server/default.hbs /usr/local/lib/node_modules/@redocly/cli/lib/commands/preview-docs/preview-server/default.hbs && \ + npm install --global redocly-cli.tgz && \ + # npm pack in the previous RUN command does not include these assets + cp packages/cli/src/commands/preview-docs/preview-server/default.hbs /usr/local/lib/node_modules/@redocly/cli/lib/commands/preview-docs/preview-server/default.hbs && \ cp packages/cli/src/commands/preview-docs/preview-server/hot.js /usr/local/lib/node_modules/@redocly/cli/lib/commands/preview-docs/preview-server/hot.js && \ - cp packages/cli/src/commands/build-docs/template.hbs /usr/local/lib/node_modules/@redocly/cli/lib/commands/build-docs/template.hbs - -# Clean up to reduce image size -RUN npm cache clean --force && rm -rf /build + cp packages/cli/src/commands/build-docs/template.hbs /usr/local/lib/node_modules/@redocly/cli/lib/commands/build-docs/template.hbs && \ + # Clean up to reduce image size + npm cache clean --force && rm -rf /build WORKDIR /spec