运行 sh:next 时未找到 Dockerfile

问题描述 投票:0回答:1

我尝试构建优化的 docker,但是当我尝试运行它时,它说 sh:下一个:未找到

这是 dockerfile

FROM node:20-alpine AS builder
WORKDIR /src

## Set local timezone in alpine linux
ARG TZ="Europe/Bratislava"
ENV TZ=${TZ}
RUN apk upgrade -qU \
&& apk add -qu tzdata \
&& ln -s /usr/share/zoneinfo/${TZ} /etc/localtime \
&& echo ${TZ} > /etc/timezone \
&& rm -rf /var/cache/apk/*

COPY package.json package-lock.json ./
RUN npm ci

COPY . .
RUN npm run build

FROM node:20-alpine AS runner
WORKDIR /src
COPY --from=builder /src/package.json .
COPY --from=builder /src/package-lock.json .
COPY --from=builder /src/next.config.js .
COPY --from=builder /src/public ./public
COPY --from=builder /src/.next/standalone ./
COPY --from=builder /src/.next/static ./.next/static


EXPOSE 3000

CMD npx next start

这个版本大约有 160MB,我想避免将 node_modules 复制到运行器,因为这样它的大小几乎为 1GB。

docker next.js dockerfile
1个回答
0
投票

尝试在最后一行使用

CMD ["node", "server.js"]
而不是
CMD npx next start

© www.soinside.com 2019 - 2024. All rights reserved.