node.js - Dockerfile build/bin/sh -c 返回非零代码 : 1

标签 node.js dockerfile nvm

我的 dockerfile 配置文件:

    FROM ubuntu:16.04
    MAINTAINER S.K.
    RUN apt-get update
    RUN apt-get install curl -y
    RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
    RUN export NVM_DIR="$HOME/.nvm"
    RUN [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
    RUN nvm install node
    RUN nvm use 6.9.1
    RUN npm i express -g
    RUN npm i nunjucks -g
    RUN npm i nodemon -g
    RUN mkdir -p PROJECT
    VOLUME /PROJECT/
    EXPOSE 1520

在步骤 RUN [ -s "$NVM_DIR/nvm.sh"] && 中。 “$NVM_DIR/nvm.sh” 我得到错误:

The command '/bin/sh -c [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"' returned a non-zero code: 1 

每个人都知道我该如何解决它?

最佳答案

我解决了我的问题!感谢所有试图帮助我的人! 在每个命令(RUN、CMD 和其他)之后,Docker 创建容器,保存对 docker 镜像的更改,并在下一个命令之前删除容器。Docker 还会在每次命令迭代时压缩目录和文件。如果你不想得到异常或错误,你应该在做任何事情之前知道它..

这是工作代码:

FROM ubuntu:16.04
MAINTAINER S.K.
RUN apt-get update
RUN apt-get install curl -y
RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash \
&& export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" \
&& nvm install 6.9.1 \
&& npm i express -g \
&& npm i nunjucks -g \
&& npm i nodemon -g \
&& npm i gulp -g \
RUN mkdir -p ./PROJECT
EXPOSE 1520

关于node.js - Dockerfile build/bin/sh -c 返回非零代码 : 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40327679/

相关文章:

node.js - 无法在 Windows 上使用 nvm 降级 Node.js

node.js - 将 child_process stdout 生成为 'readline' 而无需在 Node 中进行缓冲?

node.js - 如何同步向mongo插入数据(Nodejs、Express)

nvm 无法切换版本,显示错误 exec : "cmd": executable file not found in %PATH%:

docker - 启动Docker守护程序时出错

docker - 通过 'revel build <testapp>' 的 run.sh 二进制文件未在 docker 容器内运行

ubuntu - Vagrant Shell 以用户身份成功执行,但没有 'stick'

javascript - Blessed ListTable - 顶行被锁定,无法选择或滚动

javascript - 如何在 Swift 中从 npm 运行 Node JS 代码

docker - 使用 lint 命令构建 docker go 应用程序