I am trying to build a docker image which will be used for a CI/CD pipeline. I am trying to reduce the size of the image. Here is my dockerFile, what can be done to optimise it?
FROM ubuntu:20.04
ENV FLUTTER_CHANNEL="stable"
ENV FLUTTER_VERSION="2.2.1"
ENV JAVA_VERSION="8"
ENV FLUTTER_URL="https://storage.googleapis.com/flutter_infra/releases/$FLUTTER_CHANNEL/linux/flutter_linux_$FLUTTER_VERSION-$FLUTTER_CHANNEL.tar.xz"
ENV FLUTTER_HOME "/home/developer/flutter/bin"
ENV DEBIAN_FRONTEND="noninteractive"
RUN apt-get update \
&& apt-get install --yes --no-install-recommends openjdk-$JAVA_VERSION-jdk curl unzip sed git bash xz-utils wget sudo \
&& rm -rf /var/lib/{apt,dpkg,cache,log}
# Set up new user
RUN useradd -ms /bin/bash developer
USER developer
WORKDIR /home/developer
# Prepare Android directories and system variables
RUN mkdir -p Android/sdk
ENV ANDROID_SDK_ROOT /home/developer/Android/sdk
RUN mkdir -p .android && touch .android/repositories.cfg
# Set up Android SDK
RUN wget -O sdk-tools.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
RUN unzip sdk-tools.zip && rm sdk-tools.zip
RUN mv tools Android/sdk/tools
RUN cd Android/sdk/tools/bin && yes | ./sdkmanager --licenses
RUN cd Android/sdk/tools/bin && ./sdkmanager "build-tools;29.0.2" "patcher;v4" "platform-tools" "platforms;android-29" "sources;android-29"
ENV PATH "$PATH:/home/developer/Android/sdk/platform-tools"
#Set up Flutter SDK
RUN curl -o flutter.tar.xz $FLUTTER_URL \
&& sudo mkdir -p $FLUTTER_HOME \
&& tar xf flutter.tar.xz -C /home/$USER \
&& rm flutter.tar.xz \
&& flutter config --no-analytics \
&& flutter precache \
&& yes "y" | flutter doctor --android-licenses \
&& flutter doctor \
&& flutter emulators --create \
&& flutter update-packages
ENV PATH "$PATH:/home/developer/flutter/bin"
RUN echo $(flutter doctor)
RUN yes | flutter doctor --android-licenses \
&& flutter doctor
I would like to reduce the size currently it is 2.2GB, can some packages be removed. P.S: Just getting started with docker and piplines