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

时间:2016-10-30 09:33:16

标签: node.js dockerfile nvm

我的dockerfile conf:

    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 

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

2 个答案:

答案 0 :(得分:2)

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

这是有效的代码:

input

答案 1 :(得分:0)

对我来说,解决方案是:

npm i -g --unsafe-perm nodemon