Need clarifications to full multi-stage Dockerfile example
lodinis opened this issue · comments
lodinis commented
It seems some permission issues with WORKDIR when using classic (non-buildkit) docker build.
WORKDIR directive creates a new folder with root ownership what causes permission errors on node modules installation:
error Could not write file "/home/node/app/yarn-error.log": "EACCES: permission denied, open '/home/node/app/yarn-error.log'"
error An unexpected error occurred: "EACCES: permission denied, mkdir '/home/node/app/node_modules'".
Detailed WORKDIR permission issue here: moby/moby#36677
I think it's necessary to specify in this paragraph always enabling BuildKit for this multistage Dockerfile build or change Dockerfile example code with:
...
USER node
RUN mkdir -p /home/node/app
WORKDIR /home/node/app
...
Yoni Goldberg commented
@lodinis Welcome 🌻. Great insight. Would you mind PRing this small and important clarification?