【发布时间】:2020-04-21 16:13:06
【问题描述】:
我已经用nvm构建了一个docker镜像:
FROM ubuntu:19.10
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
RUN apt-get update && \
apt-get -y dist-upgrade && \
apt-get -y autoremove && \
apt-get clean all
RUN apt-get install -y \
git \
curl \
bash-completion
ARG NODE_VERSION='12.0.0'
ARG NVM_DIR=/root
ARG NVM_VERSION='v0.35.3'
RUN curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/$NVM_VERSION/install.sh" | bash \
&& source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION
ENV TERM=xterm
现在我正在尝试测试我是否可以启动一个容器并运行npm:
docker run my-npm-image /bin/bash -c "npm --version"
但这给出了:
/bin/bash: npm: command not found
如果我这样做:
docker run -it my-npm-image /bin/bash
root@laptop:/# npm --version
6.9.0
它有效。所以npm 已安装在映像中,但如果不先进入容器,我就无法运行它。
注意使用上述方法运行其他命令可以正常工作:
docker run my-npm-image /bin/bash -c "git --version"
git version 2.20.1
在上面的 dockerfile 中安装 npm 和 nvm 有什么想法吗?
【问题讨论】: