【问题标题】:Docker, running NVM script in a new bash shellDocker,在新的 bash shell 中运行 NVM 脚本
【发布时间】:2017-10-20 12:19:15
【问题描述】:

我的 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 脚本设置的环境变量。

我已经厌倦了以下安装 Nodejs 并且它不起作用:

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

我能做什么?

【问题讨论】:

    标签: node.js docker nvm


    【解决方案1】:

    最好使用 Dockerhub 存储库并在 Dockerfile 中使用它。

    您可以查看此repositorie 或此link 以获取更多存储库,请在选择存储库之前阅读说明。

    因此,例如,您可以在 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'
    

    如果它没有把这个从另一个repositorie:

    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
    

    【讨论】:

      猜你喜欢
      • 2012-11-22
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2017-09-24
      • 2018-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多