首页 文章

Docker无法识别npm install命令并抛出错误

提问于
浏览
0

我的 Dockerfile 如下图所示:

From ubuntu:14.04

WORKDIR /app

#COPY package.json /app/package.json
COPY . /app
RUN npm install

EXPOSE 3000

CMD ["npm","start"]

现在,当我运行命令 sudo docker -t my-app . . 它给了我以下错误:

向Docker守护程序发送构建上下文453.6 kB向Docker守护程序发送构建上下文步骤0:FROM ubuntu:14.04 ---> 37a9c4a8276c步骤1:WORKDIR / app --->使用缓存---> a83d4ef27948步骤2:复制 . / app ---> 1029f5d7d8a3删除中间容器eb9e7ea7f7e6步骤3:运行npm install --->在5d4f2c05d2d8 / bin / sh中运行:1:npm:not found INFO [0000]命令[/ bin / sh -c npm install ]返回非零代码:127

我的Dockerfile中有什么遗漏?

2 回答

  • 1

    这是预料之中的 . 您的图像没有安装节点,因为基本映像是ubuntu . 您应该使用node图像作为基本图像 .

    From node
    
    WORKDIR /app
    
    #COPY package.json /app/package.json
    COPY . /app
    RUN npm install
    
    EXPOSE 3000
    
    CMD ["npm","start"]
    
  • 1

    您的Dockerfile正在构建vanilla ubuntu FROM ubuntu:14.04 所以如果您想在容器中使用npm / node,则需要在安装instructions for ubuntu后,通过添加 RUN 命令来安装节点来自行设置节点 .

    Instead of this, you probably want to simply use the official node image found at:

    https://hub.docker.com/_/node/

    FROM node

    或使用特定的版本/发行版

    FROM node:8.4.0-wheezy

    (其他标签/版本/发行版列在docker hub页面上)

相关问题