Last active
November 5, 2018 16:08
-
-
Save timroster/9fb4b9531a776a7ad0b6c980733ab045 to your computer and use it in GitHub Desktop.
Developer Container for IBM Code Patterns
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM ubuntu:16.04 | |
# install python and curl | |
RUN apt-get update -y && \ | |
apt-get install -y python python-pip && \ | |
apt-get install -y curl | |
# install IBM Cloud development environment (includes git and kitchen sink) | |
RUN curl -sL https://ibm.biz/idt-installer | bash | |
# install Node.js | |
# gpg keys listed at https://github.com/nodejs/node#release-team | |
RUN set -ex \ | |
&& for key in \ | |
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ | |
FD3A5288F042B6850C66B31F09FE44734EB7990E \ | |
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ | |
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ | |
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ | |
B9AE9905FFD7803F25714661B63B535A4C206CA9 \ | |
56730D5401028683275BD23C23EFEFE93C4CFFFE \ | |
77984A986EBC2AA786BC0F66B01FBB92821C587A \ | |
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \ | |
; do \ | |
gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \ | |
gpg --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \ | |
gpg --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \ | |
done | |
ENV NODE_VERSION 8.12.0 | |
RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ | |
&& case "${dpkgArch##*-}" in \ | |
amd64) ARCH='x64';; \ | |
ppc64el) ARCH='ppc64le';; \ | |
s390x) ARCH='s390x';; \ | |
arm64) ARCH='arm64';; \ | |
armhf) ARCH='armv7l';; \ | |
i386) ARCH='x86';; \ | |
*) echo "unsupported architecture"; exit 1 ;; \ | |
esac \ | |
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \ | |
&& curl -fsSLO --compressed "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-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ | |
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \ | |
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \ | |
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs | |
ENV YARN_VERSION 1.9.4 | |
RUN set -ex \ | |
&& for key in \ | |
6A010C5166006599AA17F08146C2130DFD2497F5 \ | |
; do \ | |
gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \ | |
gpg --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \ | |
gpg --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \ | |
done \ | |
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \ | |
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \ | |
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \ | |
&& mkdir -p /opt \ | |
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \ | |
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \ | |
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \ | |
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment