1212
1313FROM ubuntu:14.04.5
1414
15+ ENV DOCKER_BUCKET="download.docker.com" \
16+ DOCKER_VERSION="17.09.0-ce" \
17+ DOCKER_CHANNEL="stable" \
18+ DOCKER_SHA256="a9e90a73c3cdfbf238f148e1ec0eaff5eb181f92f35bdd938fd7dab18e1c4647" \
19+ DIND_COMMIT="3b5fac462d21ca164b3778647420016315289034" \
20+ DOCKER_COMPOSE_VERSION="1.16.1"
21+
1522# Building git from source code:
1623# Ubuntu's default git package is built with broken gnutls. Rebuild git with openssl.
1724# #########################################################################
@@ -28,6 +35,7 @@ RUN apt-get update \
2835 libsqlite3-dev=3.8.2-* libssl-dev=1.0.1f-* libtool=2.4.2-* libwebp-dev=0.4.0-* \
2936 libxml2-dev=2.9.1+dfsg1-* libxslt1-dev=1.1.28-* libyaml-dev=0.1.4-* make=3.81-* \
3037 patch=2.7.1-* xz-utils=5.1.1alpha+20120614-* zlib1g-dev=1:1.2.8.dfsg-* unzip=6.0-* curl=7.35.0-* \
38+ e2fsprogs=1.42.9-* iptables=1.4.21-* xfsprogs=3.1.9ubuntu2 xz-utils=5.1.1alpha+20120614-* \
3139 && apt-get install -y -qq less=458-* groff=1.22.2-* \
3240 && apt-get -qy build-dep git=1:1.9.1 \
3341 && apt-get -qy install libcurl4-openssl-dev=7.35.0-* git-man=1:1.9.1-* liberror-perl=0.17-* \
@@ -40,38 +48,65 @@ RUN apt-get update \
4048 && dpkg-buildpackage -rfakeroot -b \
4149 && find .. -type f -name "git_*ubuntu*.deb" -exec dpkg -i \{\} \; \
4250 && rm -rf /usr/src/git-openssl \
43- # Install dependencies by all python images equivalent to buildpack-deps:jessie
44- # on the public repos.
4551 && rm -rf /var/lib/apt/lists/* \
4652 && apt-get clean
4753
54+ # Install Docker
55+ RUN set -x \
56+ && curl -fSL "https://${DOCKER_BUCKET}/linux/static/${DOCKER_CHANNEL}/x86_64/docker-${DOCKER_VERSION}.tgz" -o docker.tgz \
57+ && echo "${DOCKER_SHA256} *docker.tgz" | sha256sum -c - \
58+ && tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin/ \
59+ && rm docker.tgz \
60+ && docker -v \
61+ # set up subuid/subgid so that "--userns-remap=default" works out-of-the-box
62+ && addgroup dockremap \
63+ && useradd -g dockremap dockremap \
64+ && echo 'dockremap:165536:65536' >> /etc/subuid \
65+ && echo 'dockremap:165536:65536' >> /etc/subgid \
66+ && wget "https://raw.githubusercontent.com/docker/docker/${DIND_COMMIT}/hack/dind" -O /usr/local/bin/dind \
67+ && curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose \
68+ && chmod +x /usr/local/bin/dind /usr/local/bin/docker-compose \
69+ # Ensure docker-compose works
70+ && docker-compose version
71+
72+ # Install dependencies by all python images equivalent to buildpack-deps:jessie
73+ # on the public repos.
74+
4875RUN wget "https://bootstrap.pypa.io/get-pip.py" -O /tmp/get-pip.py \
4976 && python /tmp/get-pip.py \
5077 && pip install awscli==1.11.157 \
51- && rm -fr /var/lib/apt/lists/* /tmp/* /var/tmp/*
52-
78+ && rm -fr /var/lib/apt/lists/* /tmp/* /var/tmp/*
79+
80+ VOLUME /var/lib/docker
81+
82+ COPY dockerd-entrypoint.sh /usr/local/bin/
83+
84+ ENTRYPOINT ["dockerd-entrypoint.sh" ]
85+
5386
5487# Copy install tools
5588COPY tools /opt/tools
5689
5790ENV ANDROID_HOME="/usr/local/android-sdk-linux" \
58- JAVA_HOME="/usr/lib/jvm/java-8-oracle" \
59- JDK_HOME="/usr/lib/jvm/java-8-oracle" \
91+ JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" \
92+ JDK_VERSION="8u141-b15-3~14.04" \
93+ JDK_HOME="/usr/lib/jvm/java-8-openjdk-amd64" \
94+ JRE_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre" \
6095 JAVA_VERSION="8" \
61- INSTALLED_GRADLE_VERSIONS="2.10 2.11 2.12 2.13 2.14.1 " \
62- GRADLE_VERSION="2.14.1 " \
96+ INSTALLED_GRADLE_VERSIONS="2.14.1 3.5 4.0.2 4.1 4.2.1 4.3.1 4.4 " \
97+ GRADLE_VERSION="4.4 " \
6398 ANDROID_TOOLS_VER="24.4.1" \
6499 ANDROID_TOOLS_SHA1="725bb360f0f7d04eaccff5a2d57abdd49061326d"
65- ENV PATH="${PATH}:/opt/tools:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools" \
66- JAVA_PACKAGE_VERSION="8u151-1~webupd8~0"
100+ ENV PATH="${PATH}:/opt/tools:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools"
67101
68102# Install java8
69103RUN apt-get update \
70104 && apt-get install -y software-properties-common=0.92.37.8 \
71- && add-apt-repository -y ppa:webupd8team/java \
105+ && add-apt-repository -y ppa:openjdk-r/ppa \
72106 && (echo oracle-java$JAVA_VERSION-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections) \
73107 && apt-get update \
74- && apt-get install -y oracle-java$JAVA_VERSION-installer=$JAVA_PACKAGE_VERSION \
108+ && apt-get -y install openjdk-$JAVA_VERSION-jdk=$JDK_VERSION \
109+ && update-ca-certificates -f \
75110 && apt-get install -y -qq less=458-* groff=1.22.2-* \
76111 && dpkg --add-architecture i386 \
77112 && apt-get update && apt-get install -y --force-yes expect=5.45-* libc6-i386=2.19-* \
@@ -100,5 +135,7 @@ RUN apt-get update \
100135 && tar -xzf /tmp/android-sdk.tgz -C /usr/local/ \
101136 && chown -R root.root $ANDROID_HOME \
102137 && ln -s $ANDROID_HOME/tools/android /usr/bin/android \
103- && /opt/tools/android-accept-licenses.sh "android update sdk --all --no-ui --filter platform-tools,build-tools-25.0.0 ,android-23,android-24,android-25" \
138+ && /opt/tools/android-accept-licenses.sh "android update sdk --all --no-ui --filter platform-tools,build-tools-23.0.3,build-tools-24.0.3,build-tools- 25.0.3,build-tools-26.0.2 ,android-23,android-24,android-25,android-26 " \
104139 && rm -fr /var/lib/apt/lists/* /tmp/* /var/tmp/*
140+
141+ ENTRYPOINT ["dockerd-entrypoint.sh" ]
0 commit comments