我的 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 回答
这是预料之中的 . 您的图像没有安装节点,因为基本映像是ubuntu . 您应该使用node图像作为基本图像 .
您的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页面上)