Files
alpine_nodejs/Dockerfile
Tingluo Huang 869b2ad57e fix Dockerfiles
2021-10-22 15:28:37 +00:00

26 lines
1014 B
Docker

FROM alpine
ARG NodeVersion
ARG PythonVersion
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# install dependency
RUN apk add --no-cache libstdc++
RUN apk add --no-cache --virtual .build-deps binutils-gold curl g++ gcc gnupg libgcc linux-headers make $PythonVersion
# donwload and compile node from source code.
RUN wget https://nodejs.org/dist/$NodeVersion/node-$NodeVersion.tar.gz && tar -zxvf node-$NodeVersion.tar.gz
RUN cd node-$NodeVersion && ./configure --dest-cpu=x64 --partly-static && make -j$(getconf _NPROCESSORS_ONLN)
# create and copy tar.gz into /node_staging
RUN mkdir -p /usr/src/out/bin
WORKDIR /usr/src/out
RUN cp /usr/src/app/node-$NodeVersion/out/Release/node /usr/src/out/bin/node
RUN cp /usr/src/app/node-$NodeVersion/LICENSE /usr/src/out/LICENSE
RUN tar -czvf node-$NodeVersion-alpine-x64.tar.gz ./bin ./LICENSE && rm -rf ./bin ./LICENSE
RUN cp ./node-$NodeVersion-alpine-x64.tar.gz /node_staging
# copy the tar.gz into the mapped in volume
CMD ["cp", "/node_staging", "/node_output"]