【问题标题】:I am getting /bin/sh: [npm: not found error while executing the react image in Docker我收到 /bin/sh: [npm: not found error while execution the react image in Docker
【发布时间】:2020-12-23 21:47:02
【问题描述】:

我已经在 react 项目中添加了 Dockerfile 并运行了这个命令docker build . -t *image name*。我的构建是成功的。但是当我开始运行我的图像时(docker run *imagename*)我收到了这个错误/bin/sh: [npm: not found。我已经附加了我的 Dockerfile详情如下:

FROM node:alpine
WORKDIR '/app'

COPY package.json .
RUN npm install
COPY . .
CMD ["npm" "start"]

有人帮我解决这个错误吗?

【问题讨论】:

    标签: javascript node.js reactjs docker


    【解决方案1】:

    我会用以下内容修改 Dockerfile:

    FROM node:alpine
    WORKDIR /app
    
    COPY package.json .
    RUN npm install
    COPY . .
    CMD ["npm", "start"]
    

    【讨论】:

    • 是的,如果您对CMD 使用数组语法,则必须在参数之间放置逗号。
    【解决方案2】:

    如果这对其他人有帮助,

    FROM node:15.13-alpine
    
    WORKDIR /code/
    
    #mapping environment path for node modules
    ENV PATH="./node_modules/.bin:$PATH"
    
    COPY package.json yarn.lock /code/
    # COPY package-lock.json /code/
    
    RUN npm install
    
    #adding the rest of the client code 
    COPY . /code/
    
    EXPOSE 3000
    
    CMD ["npm", "start"]
    

    解决这个错误我所要做的就是改变第一行。 将WORKDIR /code/ 更改为/code

    接受的答案涵盖了它,但很容易错过,因为答案主要集中在更改最后一行,这对我来说不是这样。

    【讨论】:

      猜你喜欢
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      • 2020-01-28
      • 1970-01-01
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 2015-12-18
      相关资源
      最近更新 更多