【问题标题】:Docker exec npm commandDocker 执行 npm 命令
【发布时间】:2016-08-03 13:48:16
【问题描述】:

我已经成功构建了带有节点的 docker 容器。 当我 ssh 进入它时,npm,节点命令按预期工作,但是当我尝试远程执行命令(docker exec vvs_workspace npm install)时,它会打印rpc error: code = 2 desc = oci runtime error: exec failed: exec: "npm": executable file not found in $PATH

Dockerfile:

#####################################
# Node / NVM:
#####################################

ENV NVM_DIR=/home/dockuser/.nvm
ENV NODE_VERSION 6.3.1

RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.31.3/install.sh | bash \
    && . ~/.nvm/nvm.sh \
    && nvm install $NODE_VERSION \
    && nvm alias default $NODE_VERSION \
    && nvm use default

ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
ENV PATH      $NVM_DIR/v$NODE_VERSION/bin:$PATH

RUN echo "" >> ~/.bashrc && \
    echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bashrc && \
    echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm' >> ~/.bashrc

附:执行docker exec vvs_workspace composer install时一切正常。

【问题讨论】:

  • 同样的问题。
  • 嗨@rokas。你修好了吗?
  • 这可能对某人有用。 docker exec -it <container-name> bash

标签: docker npm nvm


【解决方案1】:

我找到了解决方案 https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/82 ,只需在您的 Dockfile 中添加 ENV PATH $PATH:/home/laradock/.nvm/versions/node/v6.8.0/bin 即可。将 /home/laradock/.nvm/versions/node/v6.8.0/bin 更改为您的 nvm 路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-22
    • 2016-06-03
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 2018-05-19
    • 2019-11-28
    • 2020-02-13
    相关资源
    最近更新 更多