qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 05/21] docker: compact debian base


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH v2 05/21] docker: compact debian base
Date: Tue, 9 May 2017 20:18:57 +0800
User-agent: Mutt/1.8.0 (2017-02-23)

On Tue, 05/09 09:06, Philippe Mathieu-Daudé wrote:
> On 05/09/2017 05:05 AM, Fam Zheng wrote:
> > On Tue, 05/09 08:46, Alex Bennée wrote:
> > > 
> > > Fam Zheng <address@hidden> writes:
> > > 
> > > > On Mon, 05/08 19:17, Philippe Mathieu-Daudé wrote:
> > > > > - install common/basic tools at once
> > > > > - use eatmydata and remove apt cache to save space
> > > > > - add bison and flex and git
> > > > > - create deb-src entry and setup Emdebian in the same layer
> > > > > 
> > > > > Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> > > > > ---
> > > > >  tests/docker/dockerfiles/debian.docker | 26 
> > > > > +++++++++++++-------------
> > > > >  1 file changed, 13 insertions(+), 13 deletions(-)
> > > > > 
> > > > > diff --git a/tests/docker/dockerfiles/debian.docker 
> > > > > b/tests/docker/dockerfiles/debian.docker
> > > > > index d08def6a8d..dcded3ce84 100644
> > > > > --- a/tests/docker/dockerfiles/debian.docker
> > > > > +++ b/tests/docker/dockerfiles/debian.docker
> > > > > @@ -9,17 +9,17 @@
> > > > >  #
> > > > >  FROM debian:stable-slim
> > > > > 
> > > > > -# Setup some basic tools we need
> > > > > -RUN apt update
> > > > > -RUN apt install -yy aptitude ca-certificates curl
> > > > > +# Install some basic tools and common build utilities
> > > > > +RUN apt-get update && \
> > > > > +    DEBIAN_FRONTEND=noninteractive apt-get install -yy \
> > > > > +        eatmydata && \
> > > > > +    DEBIAN_FRONTEND=noninteractive eatmydata apt-get install -y 
> > > > > --no-install-recommends \
> > > > > +        aptitude ca-certificates curl \
> > > > > +        build-essential clang git \
> > > > > +        bison flex && \
> > > > > +    apt-get clean
> > > > 
> > > > Any particular reason to make multiple "RUN" directives into one?
> > > 
> > > It reduces the number of layers you generate during the building
> > > process. I'm not sure how much space that saves in the long run though
> > > (disk space is pretty cheap ;-).
> > 
> > I don't think it matters much, but refreshing an image gets slower due to
> > coarser cache, for example when you add a package in the big "apt-get 
> > install"
> > command.
> > 
> > I don't see a strong reason why this is better. It clutters the file and is
> > inconsistent.
> 
> I'm living in a remote place where Internet is pretty bad so it does save me
> some time to have reduced layer while using 'docker save | docker load', but
> no worry :)

Shouldn't 'docker save' collapse the layers anyway and output final data?

On the contrary, Docker build cache saves me time too when I play with the
package list, as 'apt-get update' result is cached in a previous RUN directive,
and doesn't need to run again and again. (Yes, I live in a place where "apt-get
update" is slow :)

Fam



reply via email to

[Prev in Thread] Current Thread [Next in Thread]