Тестирование некоторого проекта Docker, поэтому после игры с Alpine я хотел бы использовать Ubuntu: Bionic для производства.Я решил выкатить свой собственный образ, но проблема в том, что это 600 МБ +.
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntucronjava latest 101aed049a54 6 minutes ago 600MB
<none> <none> d0298b733b5f 13 minutes ago 610MB
Ниже приведен мой dockerfile
ROM ubuntu:bionic
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y -q software-properties-common
RUN apt-get --no-install-recommends -y install cron openjdk-8-jre git-core curl python-pip && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
mkdir -p /opt/cert/gitlab /opt/features && \
chmod -R 777 /opt/* && \
touch /var/log/gitcron.log
ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-amd64
ENV GIT_URL https://xxxx:yyyyy@gitzzzzzzz.com/smartgrid/core-platform/deployment/dev/home.git
COPY cert/ /opt/cert/gitlab/
RUN git config --global http.sslCert /opt/cert/gitlab/gitlab.xxxxxxxxxxx_client.crt && \
git config --global http.sslKey /opt/cert/gitlab/gitlab.xxxxxxxxx_client.key && \
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64" >> ~/.bashrc && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
git clone $GIT_URL /opt/features
RUN (crontab -l ; echo "* * * * * sh -c 'cd /opt/features && git pull' >> /var/log/gitcron.log") | crontab
CMD cron && tail -f /var/log/gitcron.log
Я заметил, что некоторые пакеты устанавливаются, например, adwaita-icon-theme
или x11-common
, что я сомневаюсь, что они действительно нужны в этом docker ubuntuсерверный контейнер.Ниже приведен фрагмент вывода
The following additional packages will be installed:
adwaita-icon-theme ca-certificates-java dconf-gsettings-backend
dconf-service fontconfig fontconfig-config fonts-dejavu-core git-man
glib-networking glib-networking-common glib-networking-services
gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme
humanity-icon-theme java-common libasn1-8-heimdal libasound2 libasound2-data
libasyncns0 libatk-bridge2.0-0 libatk-wrapper-java libatk-wrapper-java-jni
libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3
libavahi-common-data libavahi-common3 libbsd0 libcairo-gobject2 libcairo2
libcolord2 libcroco3 libcups2 libcurl3-gnutls libcurl4 libdatrie1 libdconf1
libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1
libdrm2 libedit2 libegl-mesa0 libegl1 libelf1 libepoxy0 liberror-perl
libflac8 libfontconfig1 libfontenc1 libfreetype6 libgbm1 libgdbm-compat4
libgdbm5 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1
libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglvnd0 libglx-mesa0 libglx0
libgraphite2-3 libgssapi-krb5-2 libgssapi3-heimdal libgtk-3-0
libgtk-3-common libharfbuzz0b libhcrypto4-heimdal libheimbase1-heimdal
libheimntlm0-heimdal libhx509-5-heimdal libice6 libicu60 libjbig0
libjpeg-turbo8 libjpeg8 libjson-glib-1.0-0 libjson-glib-1.0-common
libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0
liblcms2-2 libldap-2.4-2 libldap-common libllvm6.0 libnghttp2-14 libnspr4
libnss3 libogg0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
libpciaccess0 libpcsclite1 libperl5.26 libpixman-1-0 libpng16-16 libproxy1v5
libpsl5 libpulse0 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib
librest-0.7-0 libroken18-heimdal librsvg2-2 librsvg2-common librtmp1
libsasl2-2 libsasl2-modules-db libsensors4 libsm6 libsndfile1
libsoup-gnome2.4-1 libsoup2.4-1 libthai-data libthai0 libtiff5 libvorbis0a
libvorbisenc2 libwayland-client0 libwayland-cursor0 libwayland-egl1-mesa
libwayland-server0 libwind0-heimdal libwrap0 libx11-6 libx11-data
libx11-xcb1 libxau6 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0
libxcb-present0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1
libxcb-xfixes0 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6
libxext6 libxfixes3 libxft2 libxi6 libxinerama1 libxkbcommon0 libxml2
libxmu6 libxmuu1 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxt6
libxtst6 libxv1 libxxf86dga1 libxxf86vm1 multiarch-support
openjdk-8-jre-headless perl perl-modules-5.26 python python-minimal
python-pip-whl python2.7 python2.7-minimal shared-mime-info ubuntu-mono ucf
x11-common x11-utils xkb-data
Полный вывод сборки здесь на pastebin.com .Буду признателен, если есть способы удаления ненужных пакетов и уменьшения размера изображения.
С наилучшими пожеланиями