我有以下Dockerfile:
FROM ubuntu
USER root
RUN apt-get update && apt-get install curl -y
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get update && apt-get upgrade -y && apt-get install nodejs -y
RUN mkdir /opt/public
RUN mkdir /opt/bin
ADD public /opt/public
ADD bin /opt/bin
RUN ls -lah /opt/bin
RUN ls -lah /opt/public
ADD run.sh /bin/run.sh
RUN chmod +x /bin/run.sh
RUN cd /opt/bin && npm install
CMD ["/bin/run.sh"]
生成容器时,出现以下错误:
/bin/sh:1:npm:未找到
有什么问题吗?你能帮帮我吗?
5条答案
按热度按时间nbysray51#
尝试在构建映像时单独安装
npm
:5sxhfpxr2#
Node
也打包了npm
,所以不需要像Yury提到的那样安装npm
。对我来说,答案很简单。我有下面的代码:
但是我必须安装curl,所以它失败了。所以在此之前,你需要安装curl:
41ik7eoe3#
您可能已经在这里安装了
node
和npm
。在通过curl
安装节点包之后,您可能需要在新的交互式环境中运行npm/node相关脚本。因此,在最后一行中,您可以尝试:或者
或者
npm/node的交互式bash在我的示例中工作,并使用
bash -i
调用dw1jzc5e4#
在运行任何npm命令之前,尝试在Docker文件中添加这两行。
pn9klfpd5#
生成Docker容器时出现以下错误:
在dockerfile中,我已更改:
"到这个"
和容器生成成功