节点版本未升级

时间:2016-06-08 10:26:04

标签: node.js docker nodes dockerfile

我正在尝试升级节点版本以满足我项目的其他依赖项。我尝试了各种方法来找到合适的解决方案。但不幸的是,没有任何工作。我最终尝试this  并没有改变回应。 我当前的节点版本为 v0.10.33 。这实际上是在docker上实现的。我正在附上下面的docker文件。

FROM node:6.2.1

RUN apt-get update --fix-missing

RUN apt-get install -y supervisor
RUN apt-get install -y python-pip && pip install supervisor-stdout

# Cleanup
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN apt-get autoremove -y

#ADD ./config/supervisord.conf /etc/supervisor/conf.d/supervisord- nodejs.conf

RUN ln -s /usr/bin/nodejs /usr/local/bin/node

ADD package.json /
ONBUILD RUN npm install

WORKDIR /app
ADD . /app
RUN npm update

EXPOSE 8080
CMD ["/usr/bin/supervisord", "-n"]
#ENTRYPOINT ["/nodejs/bin/npm", "start"]

因为我不太擅长码头工人和节点不知道发生了什么。即使docker文件以 From节点:6.2.1 启动,节点版本安装也是v0.10.33。这是我遇到的一件奇怪的事情。所有的帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

ln -s是错误的方法,应该失败。

Step 7 : RUN ln -s /usr/bin/nodejs /usr/local/bin/node
 ---> Running in 4f1e92a58fe8
ln: failed to create symbolic link '/usr/local/bin/node': File exists
The command '/bin/sh -c ln -s /usr/bin/nodejs /usr/local/bin/node' returned a non-zero code: 1

如果您没有注意到此错误,那么您将使用节点v0.10.33运行旧映像。

将该行更改为

RUN ln -s /usr/local/bin/node /usr/bin/nodejs

如果这是某些构建脚本的一部分,请始终检查命令的退出状态。在bash中,$?会为您提供返回代码,或set -e会自动检查您的返回代码。

相关问题