我正在尝试在节点应用程序的 docker 容器内运行 webpack。我收到以下错误。
sh: 1: webpack: Permission denied
Dockerfile 在正常构建上运行良好。
FROM node
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install
# Bundle app source
COPY . /usr/src/app
EXPOSE 3001
#This launches webpack which fails.
CMD [ "npm", "start" ]
最佳答案
我遇到了同样的问题,因为我正在将现有项目迁移到 docker。我通过不复制整个项目内容(您的 docker 文件中的 COPY . /usr/src/app
)而是仅复制实际需要的文件和目录来解决它。
在我的例子中,复制整个项目时添加的不必要的目录是,除其他外,node_modules
,构建目录和整个 .git
repo 目录。
我仍然不知道为什么复制整个目录不起作用(某些内容与某些内容冲突?某些内容具有不正确的权限?),但无论如何只复制您需要的内容对图像大小更好。
关于Docker 撰写,webpack 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39071235/