From ced0aa8af21fde3e9b06b3dd1ec41b753c29bcfb Mon Sep 17 00:00:00 2001 From: Laurent Goderre Date: Fri, 8 Apr 2016 08:40:34 -0400 Subject: [PATCH] Added templates for generating the variants --- Dockerfile-onbuild.template | 10 ++++++++++ Dockerfile-slim.template | 33 +++++++++++++++++++++++++++++++++ Dockerfile-wheezy.template | 28 ++++++++++++++++++++++++++++ Dockerfile.template | 28 ++++++++++++++++++++++++++++ update.sh | 24 +++++++++++++++--------- 5 files changed, 114 insertions(+), 9 deletions(-) create mode 100644 Dockerfile-onbuild.template create mode 100644 Dockerfile-slim.template create mode 100644 Dockerfile-wheezy.template create mode 100644 Dockerfile.template diff --git a/Dockerfile-onbuild.template b/Dockerfile-onbuild.template new file mode 100644 index 000000000..b111163a1 --- /dev/null +++ b/Dockerfile-onbuild.template @@ -0,0 +1,10 @@ +FROM node:0.0.0 + +RUN mkdir -p /usr/src/app +WORKDIR /usr/src/app + +ONBUILD COPY package.json /usr/src/app/ +ONBUILD RUN npm install +ONBUILD COPY . /usr/src/app + +CMD [ "npm", "start" ] diff --git a/Dockerfile-slim.template b/Dockerfile-slim.template new file mode 100644 index 000000000..6a3cafed6 --- /dev/null +++ b/Dockerfile-slim.template @@ -0,0 +1,33 @@ +FROM buildpack-deps:jessie-curl + +# gpg keys listed at https://github.com/nodejs/node +RUN set -ex \ + && for key in \ + 9554F04D7259F04124DE6B476D5A82AC7E37093B \ + 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ + 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ + FD3A5288F042B6850C66B31F09FE44734EB7990E \ + 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ + DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ + B9AE9905FFD7803F25714661B63B535A4C206CA9 \ + C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ + ; do \ + gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ + done + +ENV NPM_CONFIG_LOGLEVEL info +ENV NODE_VERSION 0.0.0 + +RUN buildDeps='xz-utils' \ + && set -x \ + && apt-get update && apt-get install -y $buildDeps --no-install-recommends \ + && rm -rf /var/lib/apt/lists/* \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz" \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ + && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ + && grep " node-v$NODE_VERSION-linux-x64.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ + && tar -xJf "node-v$NODE_VERSION-linux-x64.tar.xz" -C /usr/local --strip-components=1 \ + && rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \ + && apt-get purge -y --auto-remove $buildDeps + +CMD [ "node" ] diff --git a/Dockerfile-wheezy.template b/Dockerfile-wheezy.template new file mode 100644 index 000000000..2582c4980 --- /dev/null +++ b/Dockerfile-wheezy.template @@ -0,0 +1,28 @@ +FROM buildpack-deps:wheezy + +# gpg keys listed at https://github.com/nodejs/node +RUN set -ex \ + && for key in \ + 9554F04D7259F04124DE6B476D5A82AC7E37093B \ + 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ + 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ + FD3A5288F042B6850C66B31F09FE44734EB7990E \ + 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ + DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ + B9AE9905FFD7803F25714661B63B535A4C206CA9 \ + C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ + ; do \ + gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ + done + +ENV NPM_CONFIG_LOGLEVEL info +ENV NODE_VERSION 0.0.0 + +RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz" \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ + && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ + && grep " node-v$NODE_VERSION-linux-x64.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ + && tar -xJf "node-v$NODE_VERSION-linux-x64.tar.xz" -C /usr/local --strip-components=1 \ + && rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt + +CMD [ "node" ] diff --git a/Dockerfile.template b/Dockerfile.template new file mode 100644 index 000000000..748585dd1 --- /dev/null +++ b/Dockerfile.template @@ -0,0 +1,28 @@ +FROM buildpack-deps:jessie + +# gpg keys listed at https://github.com/nodejs/node +RUN set -ex \ + && for key in \ + 9554F04D7259F04124DE6B476D5A82AC7E37093B \ + 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ + 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ + FD3A5288F042B6850C66B31F09FE44734EB7990E \ + 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ + DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ + B9AE9905FFD7803F25714661B63B535A4C206CA9 \ + C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ + ; do \ + gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ + done + +ENV NPM_CONFIG_LOGLEVEL info +ENV NODE_VERSION 0.0.0 + +RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz" \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ + && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ + && grep " node-v$NODE_VERSION-linux-x64.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ + && tar -xJf "node-v$NODE_VERSION-linux-x64.tar.xz" -C /usr/local --strip-components=1 \ + && rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt + +CMD [ "node" ] diff --git a/update.sh b/update.sh index 47511ce40..6018d5424 100755 --- a/update.sh +++ b/update.sh @@ -14,15 +14,21 @@ for version in "${versions[@]}"; do continue fi - fullVersion="$(curl -sSL --compressed 'https://nodejs.org/dist' | grep '