【发布时间】:2019-02-13 09:25:23
【问题描述】:
我正在尝试构建一个可以使用 Azure 功能的 Dockerfile。由于库问题,尝试使用alpine:3.9 构建它失败后,我切换到ubuntu:18.04。现在我遇到了一个问题,我无法以可以安装node 的方式安装nvm(节点版本管理器)。我的Dockerfile 在下面。我设法安装了nvm,但现在,在尝试使用nvm 时,我无法安装我想要的节点版本。问题可能与刷新 shell 有关,但这很棘手,因为 Docker 似乎继续使用它输入的原始 shell 来运行下一个构建阶段。关于如何刷新 shell 以便 nvm 可以有效工作的任何建议?
FROM ubuntu:18.04
RUN apt update && apt upgrade -y && apt install -qq -y --no-install-recommends \
python-pip \
python-setuptools \
wget \
build-essential \
libssl-dev
RUN pip install azure-cli
RUN wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
RUN . /root/.nvm/nvm.sh && nvm install 10.14.1 && node
ENTRYPOINT ["/bin/bash"]
【问题讨论】:
-
“刷新外壳”在这里是一个非常奇怪的概念......如果您提供更多细节,例如构建日志(包括错误)和构建命令(或运行命令,如果问题发生在运行时)
标签: node.js docker dockerfile azure-functions nvm