I am trying to make images from our company Maven based applications. These apps are using some libraries which are included in a Maven repository, but fills a lot of disk space. They also have some dependencies which should be downloaded. I have seen this question which is talking about downloading dependencies (and unfortunately has no approved answer), but for me it is more important to use my local repository without adding it to the image (which increases image size from 300M to 4G) and caching downloading dependencies is in the second place.
If I wanted to
ADD my local repository to the image, I would have make this
FROM java:8.0_31 MAINTAINER Zeinab Abbasimazar (email@example.com) ADD .m2/ $HOME WORKDIR . RUN apt-get update;apt-get install -y maven;cd Development/;mvn clean install -P test CMD ["./Component.sh &"]
Which makes this image:
sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE maven 3.3.9 44ab79a0bd9e 2 hours ago 4.678 GB
This size for an image is not affordable for me; could anyone please help me on this? Is there any workaround using
Jenkins to play
Maven Repository role?