簡體   English   中英

我收到 /bin/sh: [npm: not found error while executing the react image in Docker

[英]I am getting /bin/sh: [npm: not found error while executing the react image in Docker

我在反應項目中添加了 Dockerfile 並運行此命令docker build. -t *image name* 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"]

有人幫我解決這個錯誤嗎?

我將使用以下內容修改 Dockerfile:

FROM node:alpine
WORKDIR /app

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

如果這對其他人有幫助,

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

接受的答案涵蓋了它,但很容易錯過,因為答案主要集中在更改最后一行,這對我來說並非如此。

我有同樣的問題,然后按照node.js 文檔更新了我的 Dockerfile 並解決了問題;

前:

FROM node:16-alpine

COPY . . 
RUN npm i

CMD ['npm', 'start']

后:

FROM node:16-alpine

WORKDIR /usr/src/app

COPY package*.json ./
RUN npm ci --only=production

COPY . . 
EXPOSE 8080
CMD ['npm', 'start']

# or CMD ['node', 'server.js']
# both works

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM