Hello,
The compose file is as follows:
services:
portal:
container_name: portal
build:
context: /home/docker/portal/
dockerfile: Dockerfile
environment:
- NODE_ENV=development
user: "${USER_ID:-1000}:${GROUP_ID:-1000}"
volumes:
- /home/docker/portal:/app
- /app/node_modules
- /app/.next
ports:
- "3000:3000"
And Dockerfile is as follows:
FROM node:23-alpine
RUN npm install -g npm@latest
RUN mkdir -p /app && chown -R node:node /app
WORKDIR /app
USER node
COPY --chown=node:node package*.json ./
RUN npm install --legacy-peer-deps
COPY --chown=node:node . .
ENV NODE_ENV=development
ENV CHOKIDAR_USEPOLLING=true
EXPOSE 3000
CMD ["npm", "run", "dev"]
I got the following error:
Error: EACCES: permission denied, open '/app/.next/package.json'
at async open (node:internal/fs/promises:634:25)
at async Object.writeFile (node:internal/fs/promises:1208:14)
at async HotReloaderWebpack.start (/app/node_modules/next/dist/server/dev/ho
t-reloader-webpack.js:620:9)
at async startWatcher (/app/node_modules/next/dist/server/lib/router-utils/s
etup-dev-bundler.js:156:5)
at async setupDevBundler (/app/node_modules/next/dist/server/lib/router-util
s/setup-dev-bundler.js:775:20)
at async Span.traceAsyncFn (/app/node_modules/next/dist/trace/trace.js:154:2
0)
at async initialize (/app/node_modules/next/dist/server/lib/router-server.js
:80:30)
at async Server.<anonymous> (/app/node_modules/next/dist/server/lib/start-se
rver.js:249:36) {
errno: -13,
code: 'EACCES',
syscall: 'open',
path: '/app/.next/package.json'
}
Is this a bug? If not, how do I fix this problem?
Thank you.