[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 16:05:43 +0800 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
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.
- [Qemu-devel] [PATCH v2 00/21] docker/shippable: cross-build mipsel and powerpc targets, Philippe Mathieu-Daudé, 2017/05/08
- [Qemu-devel] [PATCH v2 02/21] docker: add --include-file argument to 'build' command, Philippe Mathieu-Daudé, 2017/05/08
- [Qemu-devel] [PATCH v2 01/21] docker: let _copy_with_mkdir() sub_path argument be optional, Philippe Mathieu-Daudé, 2017/05/08
- [Qemu-devel] [PATCH v2 03/21] docker: add 'apt-fake' script which generate fake debian packages, Philippe Mathieu-Daudé, 2017/05/08
- [Qemu-devel] [PATCH v2 04/21] docker: install ca-certificates package in base image, Philippe Mathieu-Daudé, 2017/05/08
- [Qemu-devel] [PATCH v2 05/21] docker: compact debian base, Philippe Mathieu-Daudé, 2017/05/08
[Qemu-devel] [PATCH v2 06/21] docker: compact debian armhf, Philippe Mathieu-Daudé, 2017/05/08
[Qemu-devel] [PATCH v2 07/21] docker: compact debian arm64, Philippe Mathieu-Daudé, 2017/05/08
[Qemu-devel] [PATCH v2 08/21] docker: add extra libs to armhf target to extend codebase coverage, Philippe Mathieu-Daudé, 2017/05/08
[Qemu-devel] [PATCH v2 09/21] docker: add extra libs to arm64 target to extend codebase coverage, Philippe Mathieu-Daudé, 2017/05/08
[Qemu-devel] [PATCH v2 10/21] docker: add extra libs to s390x target to extend codebase coverage, Philippe Mathieu-Daudé, 2017/05/08
[Qemu-devel] [PATCH v2 11/21] docker: add mipsel build target, Philippe Mathieu-Daudé, 2017/05/08
[Qemu-devel] [PATCH v2 12/21] docker: add powerpc build target, Philippe Mathieu-Daudé, 2017/05/08
[Qemu-devel] [PATCH v2 13/21] shippable: use C locale to simplify console output, Philippe Mathieu-Daudé, 2017/05/08