Created
September 5, 2019 15:31
-
-
Save dictvm/65261346546f32cdd06020c49cf3b032 to your computer and use it in GitHub Desktop.
react-native-yarn Dockerfile reconstructed
This file contains 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 dictvm/react-native-yarn:0.1.2 | |
ADD file:204fb7ccb19ff7e863331131138621ff4d22720b3718e8f296902cc7d4f635b5 in / | |
RUN /bin/sh -c set -xe \ | |
&& echo '#!/bin/sh' > /usr/sbin/policy-rc.d \ | |
&& echo 'exit 101' >> /usr/sbin/policy-rc.d \ | |
&& chmod +x /usr/sbin/policy-rc.d \ | |
&& dpkg-divert --local --rename --add /sbin/initctl \ | |
&& cp -a /usr/sbin/policy-rc.d /sbin/initctl \ | |
&& sed -i 's/^exit.*/exit 0/' /sbin/initctl \ | |
&& echo 'force-unsafe-io' > /etc/dpkg/dpkg.cfg.d/docker-apt-speedup \ | |
&& echo 'DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' > /etc/apt/apt.conf.d/docker-clean \ | |
&& echo 'APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' >> /etc/apt/apt.conf.d/docker-clean \ | |
&& echo 'Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";' >> /etc/apt/apt.conf.d/docker-clean \ | |
&& echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/docker-no-languages \ | |
&& echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/docker-gzip-indexes \ | |
&& echo 'Apt::AutoRemove::SuggestsImportant "false";' > /etc/apt/apt.conf.d/docker-autoremove-suggests | |
RUN /bin/sh -c rm -rf /var/lib/apt/lists/* | |
RUN /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$/\1/g' /etc/apt/sources.list | |
RUN /bin/sh -c mkdir -p /run/systemd \ | |
&& echo 'docker' > /run/systemd/container | |
CMD ["/bin/bash"] | |
ARG ANDROID_TOOLS_VERSION=25.2.5 | |
ENV NPM_CONFIG_LOGLEVEL=info | |
ARG NODE_VERSION=10.7.0 | |
ENV ADB_INSTALL_TIMEOUT=10 | |
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/buck/bin/ | |
ENV ANDROID_HOME=/opt/android | |
ENV ANDROID_SDK_HOME=/opt/android | |
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/buck/bin/:/opt/android/tools:/opt/android/tools/bin:/opt/android/platform-tools | |
ENV GRADLE_OPTS=-Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-Xmx512m -XX:+HeapDumpOnOutOfMemoryError" | |
RUN |2 ANDROID_TOOLS_VERSION=25.2.5 NODE_VERSION=10.7.0 /bin/sh -c apt-get update -y \ | |
&& apt-get install -y apt-transport-https ca-certificates autoconf automake expect curl g++ gcc git libqt5widgets5 lib32z1 lib32stdc++6 make maven openjdk-8-jdk python-dev python3-dev qml-module-qtquick-controls qtdeclarative5-dev unzip xz-utils locales \ | |
&& rm -rf /var/lib/apt/lists/* \ | |
&& apt-get autoremove -y \ | |
&& apt-get clean | |
RUN |2 ANDROID_TOOLS_VERSION=25.2.5 NODE_VERSION=10.7.0 /bin/sh -c localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 | |
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 | |
RUN |2 ANDROID_TOOLS_VERSION=25.2.5 NODE_VERSION=10.7.0 /bin/sh -c set -ex \ | |
&& for key in 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 B9AE9905FFD7803F25714661B63B535A4C206CA9 77984A986EBC2AA786BC0F66B01FBB92821C587A 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 FD3A5288F042B6850C66B31F09FE44734EB7990E 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 DD8F2338BAE7501E3DD5AC78C273792F7D83545D ; do gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; done \ | |
&& 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 --strip-components=1 \ | |
&& rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \ | |
&& ln -s /usr/bin/node /usr/bin/nodejs \ | |
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ | |
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ | |
&& apt-get update -y \ | |
&& apt-get install -y --no-install-recommends yarn | |
RUN |2 ANDROID_TOOLS_VERSION=25.2.5 NODE_VERSION=10.7.0 /bin/sh -c npm config set spin=false | |
RUN |2 ANDROID_TOOLS_VERSION=25.2.5 NODE_VERSION=10.7.0 /bin/sh -c npm config set progress=false | |
RUN |2 ANDROID_TOOLS_VERSION=25.2.5 NODE_VERSION=10.7.0 /bin/sh -c npm install -g react-native-cli | |
RUN |2 ANDROID_TOOLS_VERSION=25.2.5 NODE_VERSION=10.7.0 /bin/sh -c yarn global add exp | |
RUN |2 ANDROID_TOOLS_VERSION=25.2.5 NODE_VERSION=10.7.0 /bin/sh -c mkdir -p /opt/android \ | |
&& mkdir -p /opt/tools | |
WORKDIR /opt/android | |
RUN |2 ANDROID_TOOLS_VERSION=25.2.5 NODE_VERSION=10.7.0 /bin/sh -c curl --silent https://dl.google.com/android/repository/tools_r$ANDROID_TOOLS_VERSION-linux.zip > android.zip \ | |
&& unzip android.zip \ | |
&& rm android.zip | |
COPY file:e89b42d202c79ee9b0a138988ab2202487372ab71fe2aabf81ad2e390fdd6de6 in /opt/tools/android-accept-licenses.sh | |
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/buck/bin/:/opt/android/tools:/opt/android/tools/bin:/opt/android/platform-tools:/opt/tools | |
RUN |2 ANDROID_TOOLS_VERSION=25.2.5 NODE_VERSION=10.7.0 /bin/sh -c mkdir -p $ANDROID_HOME/licenses/ \ | |
&& echo "d56f5187479451eabf01fb78af6dfcb131a6481e" > $ANDROID_HOME/licenses/android-sdk-license \ | |
&& echo "84831b9409646a918e30573bab4c9c91346d8abd" > $ANDROID_HOME/licenses/android-sdk-preview-license | |
RUN |2 ANDROID_TOOLS_VERSION=25.2.5 NODE_VERSION=10.7.0 /bin/sh -c /opt/tools/android-accept-licenses.sh "$ANDROID_HOME/tools/bin/sdkmanager tools \"platform-tools\" \"build-tools;25.0.3\" \"platforms;android-23\" \"platforms;android-25\" \"platforms;android-26\" \"extras;android;m2repository\" \"extras;google;m2repository\" \"add-ons;addon-google_apis-google-24\" \"extras;google;google_play_services\"" \ | |
&& $ANDROID_HOME/tools/bin/sdkmanager --update | |
VOLUME [/app] | |
WORKDIR /app |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
How I did this: