Next.js i18n 路由在 Docker 中不起作用

Next.js i18n routing not working in Docker

我正在尝试使用内置 Next.js internationalized routing

我按照步骤操作,我的代码与 official example 大致相同。 在本地开发环境和生产构建环境中一切正常。

我的生产应用程序在 Docker swarm 堆栈中运行,所以我用这个 dockerfile 定义构建了一个 Docker 图像(我已经有了 Next.js 构建)

FROM mhart/alpine-node
WORKDIR /app
COPY ./.next /app/.next
COPY ./public /app/public
COPY ./node_modules /app/node_modules
COPY ./package.json /app/package.json
CMD ["npm", "run", "start"]

命令

npm run start

执行

next start

该应用程序启动并运行,但是当我更改 LANG 下一个路由失败时,它 returns 404。

我错过了什么?

您还需要将 next.config.js 文件复制到 Dockerfile 中,这是您的 i18n 配置所在的位置。

COPY ./next.config.js /app/next.config.js