Docker,在一个新的bash shell中运行NVM脚本

我在我的Dockerfile中有以下内容:

run apt-get update; \ apt-get install -y curl && \ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash 

在这行代码之后,我需要在新的bash shell中运行一个命令,以便使用从NVM脚本中设置的环境variables。

我厌倦了以下安装Nodejs,它不工作:

 run ["/bin/bash", "-c", "nvm install 8.7.0"] 

我能做什么?

最好使用Dockerhub仓库,并在Dockerfile中使用它。

你可以检查这个存储库或这个链接更多的知识库,请select一个存储库之前阅读说明。

所以举例来说,你可以在Dockerfile中添加下面的代码行,它将拉动nvm图像并安装它,然后添加你的应用指令。

 FROM livingdocs/nvm 

或者你可以阅读他们的Dockerfile并使用他们用来安装nvm的命令

 ADD ./.nvmrc /app/.nvmrc RUN bash -c '. /usr/share/nvm/nvm.sh && cd /app && nvm install && nvm alias default' 

如果它没有把这个从另一个储存器 :

 RUN sudo apt-get update && \ sudo apt-get install -y build-essential libssl-dev libmysqlclient-dev && \ sudo apt-get clean && \ sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* RUN curl --location https://raw.github.com/creationix/nvm/master/install.sh | sh && \ sudo /bin/bash -c "echo \"[[ -s \$HOME/.nvm/nvm.sh ]] && . \$HOME/.nvm/nvm.sh\" >> /etc/profile.d/npm.sh" && \ echo "[[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh" >> $HOME/.bashrc 
Interesting Posts