From 635e7eca41b96d65eb5e4fcd3b624754057881f9 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Thu, 2 Jun 2016 12:30:15 +0000 Subject: [PATCH] Update Dockerfile --- Dockerfile | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 80ccb18..d16211f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,2 +1,37 @@ FROM docker:git -RUN apk add --no-cache nodejs-4.2.4-r0 \ No newline at end of file + +ENV VERSION=v4.4.5 NPM_VERSION=2 +ENV CONFIG_FLAGS="--fully-static --without-npm" DEL_PKGS="libgcc libstdc++" RM_DIRS=/usr/include + +RUN apk add --no-cache curl make gcc g++ python linux-headers paxctl libgcc libstdc++ gnupg && \ + gpg --keyserver pool.sks-keyservers.net --recv-keys 9554F04D7259F04124DE6B476D5A82AC7E37093B && \ + gpg --keyserver pool.sks-keyservers.net --recv-keys 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 && \ + gpg --keyserver pool.sks-keyservers.net --recv-keys 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 && \ + gpg --keyserver pool.sks-keyservers.net --recv-keys FD3A5288F042B6850C66B31F09FE44734EB7990E && \ + gpg --keyserver pool.sks-keyservers.net --recv-keys 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 && \ + gpg --keyserver pool.sks-keyservers.net --recv-keys DD8F2338BAE7501E3DD5AC78C273792F7D83545D && \ + gpg --keyserver pool.sks-keyservers.net --recv-keys C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 && \ + gpg --keyserver pool.sks-keyservers.net --recv-keys B9AE9905FFD7803F25714661B63B535A4C206CA9 && \ + curl -o node-${VERSION}.tar.gz -sSL https://nodejs.org/dist/${VERSION}/node-${VERSION}.tar.gz && \ + curl -o SHASUMS256.txt.asc -sSL https://nodejs.org/dist/${VERSION}/SHASUMS256.txt.asc && \ + gpg --verify SHASUMS256.txt.asc && \ + grep node-${VERSION}.tar.gz SHASUMS256.txt.asc | sha256sum -c - && \ + tar -zxf node-${VERSION}.tar.gz && \ + cd node-${VERSION} && \ + export GYP_DEFINES="linux_use_gold_flags=0" && \ + ./configure --prefix=/usr ${CONFIG_FLAGS} && \ + NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) && \ + make -j${NPROC} -C out mksnapshot BUILDTYPE=Release && \ + paxctl -cm out/Release/mksnapshot && \ + make -j${NPROC} && \ + make install && \ + paxctl -cm /usr/bin/node && \ + cd / && \ + if [ -x /usr/bin/npm ]; then \ + npm install -g npm@${NPM_VERSION} && \ + find /usr/lib/node_modules/npm -name test -o -name .bin -type d | xargs rm -rf; \ + fi && \ + apk del curl make gcc g++ python linux-headers paxctl gnupg ${DEL_PKGS} && \ + rm -rf /etc/ssl /node-${VERSION}.tar.gz /SHASUMS256.txt.asc /node-${VERSION} ${RM_DIRS} \ + /usr/share/man /tmp/* /var/cache/apk/* /root/.npm /root/.node-gyp /root/.gnupg \ + /usr/lib/node_modules/npm/man /usr/lib/node_modules/npm/doc /usr/lib/node_modules/npm/html \ No newline at end of file