Task #2124
closedMake CzechIdM image smaller
Added by Petr Fišer almost 5 years ago. Updated over 4 years ago.
100%
Description
The image is about 860MB large which is just awful.
Analyze and correct if it is possible.
(working with current develop bcv-czechidm:10.1.0-r1)
Updated by Petr Fišer almost 5 years ago
Easiest to correct seem to be the 130MB increase in chown on layer 3203c39515aa . We do not use COPY --chown for portability reasons but using COPY and RUN chown in sequence makes overlay2 construct new layer with the same file. I think we do not need to do the chown at all because all we do with the WAR is that we read it (and by default it will have 644 permissions so we should be good).
[fiisch@dockerhost compose]$ docker history bcv-czechidm:10.1.0-r1 IMAGE CREATED CREATED BY SIZE COMMENT ea7c2dd939d1 5 days ago /bin/sh -c #(nop) EXPOSE 8080/tcp 0B eaa3d53df8da 5 days ago /bin/sh -c #(nop) EXPOSE 8009/tcp 0B 621038271925 5 days ago /bin/sh -c #(nop) CMD ["/bin/bash" "-c" "$R… 0B 189601cac12f 5 days ago /bin/sh -c mkdir -pv $CZECHIDM_CONFIG/{etc,l… 0B ff199001b1a7 5 days ago /bin/sh -c find "$RUNSCRIPTS_PATH/" -name "*… 24.9kB 1d49e63e90c4 5 days ago /bin/sh -c #(nop) COPY dir:ec3b0825e5e1549f5… 18.1kB 3203c39515aa 5 days ago /bin/sh -c chown -v idmbuild:idmbuild $CZECH… 131MB e4176022164c 5 days ago /bin/sh -c #(nop) COPY multi:b7d45296ec4a911… 131MB 68783e54363f 12 days ago /bin/sh -c groupadd -r idmbuild && useradd… 21.1MB ...
Updated by Petr Fišer almost 5 years ago
The chown really was unnecessary so I removed it. Image size fell from 860MB to 730MB. Tested, everything works fine.
[fiisch@dockerhost compose]$ docker history bcv-czechidm:10.1.0-r1 IMAGE CREATED CREATED BY SIZE COMMENT f2721be180fa 12 minutes ago /bin/sh -c #(nop) EXPOSE 8080/tcp 0B ff010936c38a 12 minutes ago /bin/sh -c #(nop) EXPOSE 8009/tcp 0B a6146217a320 12 minutes ago /bin/sh -c #(nop) CMD ["/bin/bash" "-c" "$R… 0B 157d32d597d4 12 minutes ago /bin/sh -c mkdir -pv $CZECHIDM_CONFIG/{etc,l… 0B 03c29e818af1 12 minutes ago /bin/sh -c find "$RUNSCRIPTS_PATH/" -name "*… 24.9kB fbb4bf7d38fc 12 minutes ago /bin/sh -c #(nop) COPY dir:ec3b0825e5e1549f5… 18.1kB e4176022164c 5 days ago /bin/sh -c #(nop) COPY multi:b7d45296ec4a911… 131MB 68783e54363f 12 days ago /bin/sh -c groupadd -r idmbuild && useradd… 21.1MB ...
Updated by Petr Fišer almost 5 years ago
I was also looking at the tomcat image and the only place we could optimize is the yum exec on layer c3dc4b1326b0 .
But that layer contains yum update which we cannot drop for security/updates reason - so we are stuck there. I think this is the most we can do for now.
[fiisch@dockerhost compose]$ docker history bcv-tomcat:8.5.50-r0 IMAGE CREATED CREATED BY SIZE COMMENT 699567389331 13 days ago /bin/sh -c #(nop) EXPOSE 8080/tcp 0B 7b79a6f79c0b 13 days ago /bin/sh -c #(nop) EXPOSE 8009/tcp 0B f17865874572 13 days ago /bin/sh -c #(nop) CMD ["/bin/bash" "-c" "$R… 0B 0d8e9a760c4d 13 days ago /bin/sh -c #(nop) COPY file:d2046bfbcc4c0d25… 2.96kB 9bf3478e5cf7 13 days ago /bin/sh -c find "$RUNSCRIPTS_PATH/" -name "*… 6.82kB f5f7831c8450 13 days ago /bin/sh -c #(nop) COPY dir:42f9eacceff456f6a… 6.82kB 5821460bcc39 13 days ago /bin/sh -c groupadd -r -g 998 tomcat && us… 15MB 7fe13d2f803b 13 days ago /bin/sh -c mkdir -v /opt/tomcat && ddist()… 14.6MB c3dc4b1326b0 13 days ago /bin/sh -c yum install -y epel-release && … 317MB 8eb93b75eb58 13 days ago /bin/sh -c #(nop) ENV RUNSCRIPTS_PATH=/runs… 0B 6d9acab89c48 13 days ago /bin/sh -c #(nop) ENV TOMCAT_VERSION=8.5.50 0B 5f26c8f330b8 13 days ago /bin/sh -c #(nop) ENV TOMCAT_MAJOR=8 0B 5e35e350aded 4 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B <missing> 4 months ago /bin/sh -c #(nop) LABEL org.label-schema.sc… 0B <missing> 4 months ago /bin/sh -c #(nop) ADD file:45a381049c52b5664… 203MB
Updated by Petr Fišer almost 5 years ago
- % Done changed from 0 to 100
Pushed onto develop in git.b09542e . Documentation not needed.
Waiting for official release.
Updated by Petr Fišer over 4 years ago
- Status changed from In Progress to Resolved