From d5e877ed4101e10c68203adcdfb58ba79549a905 Mon Sep 17 00:00:00 2001 From: Ambrose Chua Date: Thu, 19 Oct 2017 23:25:47 +0800 Subject: [PATCH] Refactor, run as root instead --- Dockerfile | 43 ++++++++++--------------------------------- 1 file changed, 10 insertions(+), 33 deletions(-) diff --git a/Dockerfile b/Dockerfile index 58347f9..84d2e11 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,12 +2,12 @@ FROM ubuntu:16.04 -# Never ask for confirmations -ENV DEBIAN_FRONTEND noninteractive - # SDK version ENV ANDROID_SDK_VERSION 3859397 +# Never ask for confirmations +ENV DEBIAN_FRONTEND noninteractive + # Update apt-get RUN apt-get -qq update \ && apt-get -qq install -y --no-install-recommends \ @@ -29,15 +29,15 @@ RUN wget https://dl.google.com/android/repository/sdk-tools-linux-$ANDROID_SDK_V && unzip -q sdk-tools-linux-$ANDROID_SDK_VERSION.zip -d /usr/local/android \ && rm sdk-tools-linux-$ANDROID_SDK_VERSION.zip +# Export JAVA_HOME variable +ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 + # Environment variables ENV ANDROID_HOME /usr/local/android ENV ANDROID_SDK_HOME $ANDROID_HOME ENV ANDROID_NDK_HOME $ANDROID_HOME/ndk-bundle ENV PATH $ANDROID_HOME/tools/bin:$PATH -# Export JAVA_HOME variable -ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 - # Install Android SDK components RUN echo "y" | sdkmanager \ # "ndk-bundle" \ @@ -47,34 +47,11 @@ RUN echo "y" | sdkmanager \ "platforms;android-26" \ "build-tools;26.0.2" +# Build directory +ENV SRC /src +RUN mkdir $SRC +WORKDIR $SRC -# Support Gradle -ENV TERM dumb -ENV JAVA_OPTS "-Xms512m -Xmx1024m" -ENV GRADLE_OPTS "-XX:+UseG1GC -XX:MaxGCPauseMillis=1000" - -# Add build user account, values are set to default below -ENV RUN_USER builder -ENV RUN_UID 5000 - -RUN id $RUN_USER || adduser --uid "$RUN_UID" \ - --gecos 'Build User' \ - --shell '/bin/sh' \ - --disabled-login \ - --disabled-password "$RUN_USER" - -# Fix permissions -RUN chown -R $RUN_USER:$RUN_USER $ANDROID_HOME -RUN chmod -R a+rx $ANDROID_HOME - -# Creating project directories prepared for build when running -# `docker run` -ENV PROJECT /project -RUN mkdir $PROJECT -RUN chown -R $RUN_USER:$RUN_USER $PROJECT -WORKDIR $PROJECT - -USER $RUN_USER RUN echo "sdk.dir=$ANDROID_HOME" > local.properties CMD ["./gradlew", "build"]