From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id QF+cABUFHGH+FQEAgWs5BA (envelope-from ) for ; Tue, 17 Aug 2021 20:51:01 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id cDjjNxQFHGEtCgAAbx9fmQ (envelope-from ) for ; Tue, 17 Aug 2021 18:51:00 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 50D2EDC70 for ; Tue, 17 Aug 2021 20:51:00 +0200 (CEST) Received: from localhost ([::1]:42070 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mG4At-0003Zi-CH for larch@yhetil.org; Tue, 17 Aug 2021 14:50:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43074) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mG4Aj-0003ZY-DY for help-guix@gnu.org; Tue, 17 Aug 2021 14:50:49 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:44847) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mG4Ah-0008Mb-PC for help-guix@gnu.org; Tue, 17 Aug 2021 14:50:49 -0400 Received: by mail-wr1-x436.google.com with SMTP id x12so30049561wrr.11 for ; Tue, 17 Aug 2021 11:50:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:in-reply-to:references:date:message-id:mime-version :content-transfer-encoding; bh=lEmSJCTsQ5ArL9FTohXz2sOOFmqB4VAh8SlJTx0ottc=; b=bxpNlV/xrMiuog5b6HOqYOqHb41QbwpDTNobEV8BHlEAK3rnvgWgfoJPS37/sGElXe BDicbU2AGP30Mr1iqYgTq2L6DmqJwLRNyj5ScANAtaDVFO5eNqy68RasXqWQySgxnHMd kyDkRhuZVVjVxPurrYUeXW1Ko+DqUrwDtSmwv2V8aqCIB0V0ZupwrJWWVQEql3jbZnyE 9ASdJ4e+5pyNMK6/7YlPjGMvMJqbYsf2Y7YXNDuMAJdcl+r9uS5MRKbgcZl+GhmsA+HJ kncWW9EX0IqaM/vaMPIX+c/HPwFBiI0vMglas/KsQ93XmvM/dIZM4QkrtYetl6XVS4+E Pckw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=lEmSJCTsQ5ArL9FTohXz2sOOFmqB4VAh8SlJTx0ottc=; b=X4Szai6vr/gdbMkv9Km8xbA9pw94/Ys4b99IE+ZxKF0/TranCUblnSqTQ11ScnZCw0 Cy7840cAPxBuqo4rNjSu1k7PpR63LuQGwi6coSme9h1DO9HtfBQh0GdjBJaqJQKPcJ1M AAUJ811pzkTvZyLgdiHGd5rV6zFCsisF+tJUAkOIee/tHcCLNVPaFSnkPkmWTBsRSyMD HizQJj52TGjqH+lPSxtBFOpC7FOG8wHm39NgJjM+t0qJw5oYBfog6nJaIFEHeguOvy4o g8JPDap9cpfn9W7y3CMYc3IR7oboNOtW80cIzxZMb3LdGiUEpSOjvoSd0ovG4NboYfuw +tsg== X-Gm-Message-State: AOAM533NSZhc7KEoju8CMMZZBYMV4OkEUCPIVeketFONPyiZf4QZdO0U rPtUFtGSx1Lrm12l/k3g9G/APF/dZik= X-Google-Smtp-Source: ABdhPJyCymK5Ade76jlow2DHsazpMrMHV7YmjHN/+D+Xo4LAUAFAYX6HNLBeRhu9mbMH/46L88FzFQ== X-Received: by 2002:a5d:674b:: with SMTP id l11mr5951207wrw.357.1629226246159; Tue, 17 Aug 2021 11:50:46 -0700 (PDT) Received: from lili (roam-nat-fw-prg-194-254-61-44.net.univ-paris-diderot.fr. [194.254.61.44]) by smtp.gmail.com with ESMTPSA id o10sm3208658wrq.51.2021.08.17.11.50.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Aug 2021 11:50:45 -0700 (PDT) From: zimoun To: TJ , help-guix@gnu.org Subject: Re: Docker image sizes In-Reply-To: <87sg0dzfza.fsf@sheer.tj> References: <87sg0dzfza.fsf@sheer.tj> Date: Tue, 17 Aug 2021 15:19:36 +0200 Message-ID: <86wnokb447.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=zimon.toutoune@gmail.com; helo=mail-wr1-x436.google.com X-Spam_score_int: -4 X-Spam_score: -0.5 X-Spam_bar: / X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, DATE_IN_PAST_03_06=1.592, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1629226260; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=lEmSJCTsQ5ArL9FTohXz2sOOFmqB4VAh8SlJTx0ottc=; b=DgCr+feAtxkwHCeRPTpPwyNBRbi6kAmbRCUmCQGkyTVE87vwrXLqVlF8yw/j0dMhlfT5Rl mmJYl6pAMxuF5GYZKvlm7ceEhpWMSfTHmjz+qdMCKTzQFmXmCiBjsV+Tnt+OB+D+qhAlCB 8hqosfMy5LBK7lL3sRkrpeJnLO+c9xKX3SkxiCi7u5xkd6uRTAcDSylIgR7nWwwe8Htqcw fvSpYEHsaY/ERCMXfYrbjWgnXYBxMaVf/cmxS6hGZ2vu0SdNFGrED77KWl4vQk0SPJaHhN jH7HGHCy0Yt30LJITda66VwuwKszxw1DEANCNEbmpYu9WHQvoLhFzstDadvKVA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1629226260; a=rsa-sha256; cv=none; b=hoIwdRvRnkZPFDDenKvUOpYhUzGWX2Hv7q7AbXWt8T9TDbOBxu429aL3CQHNsFdPKK4Dp9 qXmF0dsv1SIgvIpGDtplRTst5EuLq+uEBHUUYrZaiMy8gdenWr1eIKPy1kSKOwUQZPypUV mDpIYKYBh1/l5DvNGKt/tKiWAtTYD+2LAg4niGus4MPQdxEi+Oe5ZdMqQpe7SLyuIf8WNF 3yqQsg6x1usn9PTJTfeiBEvn013LSHEsHCl4fsw2bTrU3w47l78NaugfMGmFrzKCHNJylr 8MOZzd2kTGMGnFUtva3z3YcSTq+sQdCt8eElOyNr9w4n4KMOuR2d6nVZiTgM3A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b="bxpNlV/x"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Migadu-Spam-Score: -3.12 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b="bxpNlV/x"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Migadu-Queue-Id: 50D2EDC70 X-Spam-Score: -3.12 X-Migadu-Scanner: scn1.migadu.com X-TUID: 4rPxfcRXKwBT Hi, On Fri, 16 Jul 2021 at 22:06, TJ wrote: > I was trying to package a project in docker and to start I did a fairly > straightforward command: > > $ guix pack --format=3Ddocker elixir > > It generated an image quite a bit larger than I expected. > > -r--r--r-- 2 root root 461M Dec 31 1969 gfnqg760z22vr8k= bvyzdzhs1hc5766c9-elixir-docker-pack.tar.gz I agree the size is an issue. > After uncompressing, this is taking 1.5GB and is including quite a few > unnecessary packages for a minimal image - see below for the top 30. > > $ du -s * |sort -g -r | head -n 30 > 155804 g3idjpqsp2p2d163qfzskxj4k58nrx7f-llvm-11.0.0 > 145164 m59c9hj9d4n65maimbpmx2xq56d2mvqs-mesa-20.2.4 > 111708 q233v022vziq8ry18y8q959k110vclvf-webkitgtk-2.32.1 > 110840 cgqj7xswlpvhzxwri3mcqfs1fhbgnka8-erlang-23.2.1 > 103940 qk5v5vzwfl066zch67nxlv4x7aspf0fx-samba-4.13.4 > 93972 cw8brvxkzp4kmdqldsv1wkvi2cv4kq4x-python-3.8.2 > 64620 8zvc5mvk0xm3ygrxsgpyy5ilxb5rzjry-perl-5.30.2 > 56300 18hp7flyb3yid3yp49i6qcdq0sbi5l1n-guile-3.0.2 > 52748 nscar35x261xky08qih2ddxq1b105qwd-gtk+-3.24.24 > 41092 fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31 > 39544 2wqjj3mkqdvsvksndr2hpjpi7qqwi7kr-icu4c-66.1 > 35848 fi1mdh30b5q6zvplvayn68lb575xcd1k-ghostscript-with-cups-9.52 > 34768 01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib > 34188 wjmydimw608k61qxmsifkam11jwgpric-wxwidgets-3.0.5.1 > 24224 jv6v8p8jbjf6hpscgp3dgdfylrdhldi1-gdk-pixbuf+svg-2.40.0 > 18488 n8awazyldv9hbzb7pjcw76hiifmvrpvd-coreutils-8.32 > 18464 57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32 > 16596 jsqxxnaj5p8a22mrsvl679gi7jl26z4j-glib-2.62.6 > 16400 aza259fsrb841zwb4rjzfzs2nrsf28f1-eudev-3.2.9 > 16060 9z185s19zp2p9yq8gdayxgibaphxfcps-cups-2.3.3 > 15604 4l2il4wcxjb443xwc2arwixpq28pbfvl-cups-minimal-2.3.3 > 14140 02z5vgdhgxw4gcjvhx51mvy1ax4lzxmp-fftwf-3.3.8 > 13912 zzkly5rbfvahwqgcs7crz0ilpi7x5g5p-ncurses-6.2 > 13096 lv92cmzqjpb8mxygpqdvh0mkkkfi9vmz-libxcb-1.14 > 10876 n3pjsbpd51x6vqikfglmrdbijflammf6-gst-plugins-base-1.18.2 > 10588 sayvymkqjl328rsivzlp9r46337rvdmz-pulseaudio-14.0 > 10084 7y3lvk3xf4im8n44337mc6y0ccysvfia-font-dejavu-2.37 > 9888 hr1p9l1waam8lk2csdwbzaipf14h9n33-gstreamer-1.18.2 > 9576 a45p39mgqvfd8kjwibyr0q42k1mw7gmf-util-linux-2.35.1-lib > 8812 z3vbqvpgcz7lag9qci074hjry4j3120i-shared-mime-info-1.15 > > I wouldn't expect to need llvm, mesa, webkit, samba, python, perl, > gtk, cups, pulseaudio, etc, etc. in a production image. You can use the option =E2=80=99--path=E2=80=99 to find out why elixir depe= nds on unexpected packages, for instance: $ guix graph --path elixir samba=20=20=20=20=20=20=20=20 elixir@1.12.0 erlang@24.0.2 wxwidgets@3.0.5.1 webkitgtk@2.32.3 libsoup@2.72.0 samba@4.13.1 > What would be the recommended way to minimize the derivation? Examine each and try to spot what could be cut. For instance, =E2=80=99erl= ang=E2=80=99 depends on =E2=80=99wxwidgets=E2=80=99 which brings a lot of stuff. Hope that helps, simon