Docker compose,webpack权限被拒绝

5
我正在尝试在Node应用程序的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" ] 

1
请发布您的 Dockerfile,并说明您的构建与普通构建有何不同? - Martin
这是我的 Dockerfile,它正在失败 FROM node

创建应用程序目录

RUN mkdir -p /usr/src/app WORKDIR /usr/src/appCOPY package.json /usr/src/app/ RUN npm install

打包应用程序源代码

COPY . /usr/src/app EXPOSE 3001 CMD [ "npm", "start" ] # 这会启动 webpack,但它会失败。
- user3547774
1个回答

0

我曾经遇到过同样的问题,因为我正在将一个现有项目迁移到docker。我通过不复制整个项目内容(在您的docker文件中使用COPY . /usr/src/app)而仅复制实际需要的文件和目录来解决了这个问题。

在我的情况下,当复制整个项目时添加的不必要的目录包括node_modules、构建目录和整个.git repo目录等。

我仍然不知道为什么复制整个目录不起作用(某些东西与某些东西冲突?某些东西具有不正确的权限?),但仅复制所需内容对于镜像大小来说更好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接