Re: [xwiki-users] Possible optimisations for xwiki/xwiki-mysql-tomcat docker image
Hi Denis, > On 20 Jan 2017, at 09:51, Denis GERMAINwrote: > > I was confused also about the difference because for me also it shouldn't be > 1.6 GB but that's what "docker images" tells me. On dockerhub, it's the > "compressed size" so maybe compression could explain this ? > > For the 300 MB, you have to take into account how the docker images are > built. In the Dockerfile, each time you write a line, you create a layer. One > of the error you made was to write the Dockerfile as you would write an > installation procedure. > It's more readable, but if you make multiple modifications on the filesystem, > you store it each time. The most costly one in this case is "RUN chown -R > tomcat8:tomcat8 /var/lib/tomcat8" which just changes the owner on 230 MB > worth of data, thus adding 230 MB of nearly identical data as a new layer. > > You can view the impact of each layer here > https://microbadger.com/images/xwiki/xwiki-mysql-tomcat (you can also get a > html code to get a nice image for you repository). Got it! That’s very nice and useful! :) Thanks for pointing this out. I’ll look into this later this afternoon or over the weekend, unless you wish to send a PR which would be awesome! :) Thanks -Vincent > Regards > > 2017-01-19 15:04 GMT+01:00 Vincent Massol : > Hi Denis, > > > On 18 Jan 2017, at 15:46, Denis GERMAIN wrote: > > > > Hi list, > > > > Vincent Massol has asked for code review after official docker image > > annoncement and though I am no Docker expert, I have found a few leads to > > reduce image size and might have some suggestions to improve it. > > > > With 3 little changes I have gained about 500 MB, but I still have to make > > sure everything still works. > > - 200 of those MB where gained by a commonly used trick : adding > > "--no-install-recommends" option to apt-get. > > Some packages that are commonly installed with libreoffice might have been > > skipped and I still have to determine if it's OK or not. > > > > - The other 300 MB are safe. Most of it comes from "RUN chown -R > > tomcat8:tomcat8 /var/lib/tomcat8" being moved inside the same layer as the > > curl xwiki.war && unzip. > > This is great! Thanks so much for reviewing it and proposing ideas :) > > For my knowledge, could you explain quickly how this wins 300MB (it seems > magical :))? > > Also, the image take “only” 900MB (see > https://hub.docker.com/r/xwiki/xwiki-mysql-tomcat/tags/) so I don’t > understand why it takes 1.6GB for you. > > Thanks a lot > -Vincent > > > > > docker images > > REPOSITORY TAG IMAGE > > IDCREATED SIZE > > xwiki-mysql-tomcat after > > b05844c94dd07 seconds ago 1.157 GB > > xwiki-mysql-tomcat before > > 174d549368d52 hours ago 1.689 GB > > > > As soon as I have checked this works, I'll do a pull request. > > In the meantime, code is online on > > https://github.com/zwindler/docker-xwiki-1/tree/clear_apt > > > > Regards > > Denis GERMAIN > >
Re: [xwiki-users] Possible optimisations for xwiki/xwiki-mysql-tomcat docker image
I was confused also about the difference because for me also it shouldn't be 1.6 GB but that's what "docker images" tells me. On dockerhub, it's the "compressed size" so maybe compression could explain this ? For the 300 MB, you have to take into account how the docker images are built. In the Dockerfile, each time you write a line, you create a layer. One of the error you made was to write the Dockerfile as you would write an installation procedure. It's more readable, but if you make multiple modifications on the filesystem, you store it each time. The most costly one in this case is "RUN chown -R tomcat8:tomcat8 /var/lib/tomcat8" which just changes the owner on 230 MB worth of data, thus adding 230 MB of nearly identical data as a new layer. You can view the impact of each layer here https://microbadger.com/images/xwiki/xwiki-mysql-tomcat (you can also get a html code to get a nice image for you repository). Regards 2017-01-19 15:04 GMT+01:00 Vincent Massol: > Hi Denis, > > > On 18 Jan 2017, at 15:46, Denis GERMAIN wrote: > > > > Hi list, > > > > Vincent Massol has asked for code review after official docker image > > annoncement and though I am no Docker expert, I have found a few leads to > > reduce image size and might have some suggestions to improve it. > > > > With 3 little changes I have gained about 500 MB, but I still have to > make > > sure everything still works. > > - 200 of those MB where gained by a commonly used trick : adding > > "--no-install-recommends" option to apt-get. > > Some packages that are commonly installed with libreoffice might have > been > > skipped and I still have to determine if it's OK or not. > > > > - The other 300 MB are safe. Most of it comes from "RUN chown -R > > tomcat8:tomcat8 /var/lib/tomcat8" being moved inside the same layer as > the > > curl xwiki.war && unzip. > > This is great! Thanks so much for reviewing it and proposing ideas :) > > For my knowledge, could you explain quickly how this wins 300MB (it seems > magical :))? > > Also, the image take “only” 900MB (see https://hub.docker.com/r/ > xwiki/xwiki-mysql-tomcat/tags/) so I don’t understand why it takes 1.6GB > for you. > > Thanks a lot > -Vincent > > > > > docker images > > REPOSITORY TAG IMAGE > > IDCREATED SIZE > > xwiki-mysql-tomcat after > > b05844c94dd07 seconds ago 1.157 GB > > xwiki-mysql-tomcat before > > 174d549368d52 hours ago 1.689 GB > > > > As soon as I have checked this works, I'll do a pull request. > > In the meantime, code is online on > > https://github.com/zwindler/docker-xwiki-1/tree/clear_apt > > > > Regards > > Denis GERMAIN > >
[xwiki-users] Possible optimisations for xwiki/xwiki-mysql-tomcat docker image
Hi list, Vincent Massol has asked for code review after official docker image annoncement and though I am no Docker expert, I have found a few leads to reduce image size and might have some suggestions to improve it. With 3 little changes I have gained about 500 MB, but I still have to make sure everything still works. - 200 of those MB where gained by a commonly used trick : adding "--no-install-recommends" option to apt-get. Some packages that are commonly installed with libreoffice might have been skipped and I still have to determine if it's OK or not. - The other 300 MB are safe. Most of it comes from "RUN chown -R tomcat8:tomcat8 /var/lib/tomcat8" being moved inside the same layer as the curl xwiki.war && unzip. docker images REPOSITORY TAG IMAGE IDCREATED SIZE xwiki-mysql-tomcat after b05844c94dd07 seconds ago 1.157 GB xwiki-mysql-tomcat before 174d549368d52 hours ago 1.689 GB As soon as I have checked this works, I'll do a pull request. In the meantime, code is online on https://github.com/zwindler/docker-xwiki-1/tree/clear_apt Regards Denis GERMAIN