Update workloads/ecommerce/Dockerfile
Build and Push Frontend / build (push) Failing after 21m34s

This commit is contained in:
2026-07-20 03:22:42 +00:00
parent fe7b2019c2
commit 0cd4b89cfa
+78 -15
View File
@@ -1,34 +1,97 @@
FROM node:22-alpine AS deps # syntax=docker/dockerfile:1.7
WORKDIR /app
COPY package.json package-lock.json ./ ARG NODE_IMAGE=node:24.18.0-bookworm-slim
RUN npm ci --no-audit --no-fund
# ============================================================
# Dependencias
# ============================================================
FROM ${NODE_IMAGE} AS deps
FROM node:22-alpine AS builder
WORKDIR /app WORKDIR /app
ENV NEXT_TELEMETRY_DISABLED=1
ENV NEXT_TELEMETRY_DISABLED=1 \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_FETCH_RETRIES=5 \
NPM_CONFIG_FETCH_RETRY_MINTIMEOUT=20000 \
NPM_CONFIG_FETCH_RETRY_MAXTIMEOUT=120000 \
NPM_CONFIG_FETCH_TIMEOUT=120000 \
NPM_CONFIG_LOGLEVEL=warn
COPY package.json package-lock.json ./
RUN --mount=type=cache,target=/root/.npm,sharing=locked \
npm ci \
--no-audit \
--no-fund \
--prefer-offline
# ============================================================
# Compilación Next.js
# ============================================================
FROM ${NODE_IMAGE} AS builder
WORKDIR /app
ENV NEXT_TELEMETRY_DISABLED=1 \
NODE_ENV=production
COPY --from=deps /app/node_modules ./node_modules COPY --from=deps /app/node_modules ./node_modules
COPY . . COPY . .
RUN npm run build RUN npm run build
FROM node:22-alpine AS runner # ============================================================
# Imagen final
# ============================================================
FROM ${NODE_IMAGE} AS runner
WORKDIR /app WORKDIR /app
ENV NODE_ENV=production \ ENV NODE_ENV=production \
NEXT_TELEMETRY_DISABLED=1 \ NEXT_TELEMETRY_DISABLED=1 \
HOSTNAME=0.0.0.0 \ HOSTNAME=0.0.0.0 \
PORT=80 PORT=80
RUN apk add --no-cache libcap wget \ RUN apt-get update \
&& addgroup --system --gid 1001 nodejs \ && apt-get install -y --no-install-recommends \
&& adduser --system --uid 1001 nextjs \ ca-certificates \
libcap2-bin \
wget \
&& rm -rf /var/lib/apt/lists/* \
&& groupadd --system --gid 1001 nodejs \
&& useradd \
--system \
--uid 1001 \
--gid nodejs \
--create-home \
nextjs \
&& setcap 'cap_net_bind_service=+ep' /usr/local/bin/node && setcap 'cap_net_bind_service=+ep' /usr/local/bin/node
COPY --from=builder /app/public ./public COPY --from=builder \
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ --chown=nextjs:nodejs \
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static /app/public \
./public
COPY --from=builder \
--chown=nextjs:nodejs \
/app/.next/standalone \
./
COPY --from=builder \
--chown=nextjs:nodejs \
/app/.next/static \
./.next/static
USER nextjs USER nextjs
EXPOSE 80 EXPOSE 80
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
HEALTHCHECK \
--interval=30s \
--timeout=5s \
--start-period=20s \
--retries=3 \
CMD wget -qO- http://127.0.0.1/api/health || exit 1 CMD wget -qO- http://127.0.0.1/api/health || exit 1
CMD ["node", "server.js"] CMD ["node", "server.js"]