【发布时间】:2016-07-21 22:04:08
【问题描述】:
当我在下面运行docker build -t example . 时出现错误
FROM ruby:2.1
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION 4.4.2
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash \
&& source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION \
&& nvm alias default $NODE_VERSION \
&& nvm use default
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
ENV PATH $NVM_DIR/v$NODE_VERSION/bin:$PATH
RUN node -v
我收到以下错误:
步骤 9 : RUN node -v ---> 运行在 6e3fac36d2fc /bin/sh: node: 找不到命令命令'/bin/sh -c node -v'返回非零 代码:127
无法理解为什么在路径中找不到节点。我也尝试执行 nvm.sh 文件,但没有效果。
【问题讨论】:
-
为什么在容器中使用 nvm?如果您想要在容器中使用不同版本的节点,只需在其中创建具有不同版本的新图像。
-
是的,你说得对,没有真正的意义只是停留在为什么它不起作用。将其更改为以下作品
RUN curl -sL https://deb.nodesource.com/setup_4.x | bash - RUN apt-get install -y nodejs -
为了未来的人,我打个答案。