如何在 alpine:3.9 上安装 Node 8.15?

lme*_*vil 5 dockerfile

我想在 alpine:3.9 上安装节点 8.15

这是我的 Dockerfile,但它不起作用。

在 docker build 之后,我收到此错误:您需要运行“nvm install default”来安装它,然后才能使用它。

谢谢。

FROM alpine:3.9

ENV METEOR_VERSION=1.8.1
ENV METEOR_ALLOW_SUPERUSER true
ENV NODE_VERSION 8.15
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
ENV NVM_DIR /usr/local/nvm

RUN mkdir $NVM_DIR

# Install dependencies
RUN apk update
RUN apk upgrade
RUN apk add --no-cache bash
RUN apk --no-cache add curl

# Install NVM
RUN curl -o- "https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh" | bash

# Install NODE
RUN echo "source $NVM_DIR/nvm.sh && \
    nvm install $NODE_VERSION && \
    nvm alias default $NODE_VERSION && \
    nvm use default" | bash

# Install METEOR
RUN curl "https://install.meteor.com/?release=${METEOR_VERSION}" | /bin/
Run Code Online (Sandbox Code Playgroud)

Adi*_*iii 5

当 alpine 官方存储库中有 Nodejs 时,为什么还要使用 NVM 安装?每个 Docker 镜像应该代表一个 Nodejs 版本。所以我不会建议 NVM 在这种情况下也能保持镜像较小。

您可以找到版本 alpine-pacakge-nodejs v8.x

FROM alpine:3.9

ENV METEOR_VERSION=1.8.1
ENV METEOR_ALLOW_SUPERUSER true
ENV NODE_VERSION 8.15
RUN apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/v3.8/main/ nodejs=8.14.0-r0 npm 

RUN node --version

Run Code Online (Sandbox Code Playgroud)

输出

Step 6/6 : RUN node --version
 ---> Running in 9652a49223fa
v8.14.0

Run Code Online (Sandbox Code Playgroud)