Replies: 1 comment
-
Created an issue from this discussion - #754 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello! I recently found out about your tool, love the simplicity! ❤️ But I have a question...
Since I care a lot about docker image sizes, it's a big deal for me
(even though the official PHP docker image has reached 100mb recently 😢)
I wanted to use the Relay extension and their docs offered either your tool or some complicated way of installation, unlike any other extensions I used.
I've been using my own script for extension installations, been improving it for a year now, using the tools that offer official PHP images.
So I decided to compare the sizes of the docker image with my script and your tool. Grabbed the script straight from my project and specified the same extensions for your tool.
Below are some proofs
Images and layers
Images side-by-side
Layer sizes (my script)
Layer sizes (your tool)
Installed packages and extensions
Installed packages (apk list -I) using my script
.extension-deps-20230609.161408 noarch {.extension-deps} () [installed]alpine-baselayout-3.4.3-r1 x86_64 {alpine-baselayout} (GPL-2.0-only) [installed]
alpine-baselayout-data-3.4.3-r1 x86_64 {alpine-baselayout} (GPL-2.0-only) [installed]
alpine-keys-2.4-r1 x86_64 {alpine-keys} (MIT) [installed]
apk-tools-2.14.0-r0 x86_64 {apk-tools} (GPL-2.0-only) [installed]
argon2-libs-20190702-r4 x86_64 {argon2} (Apache-2.0 OR CC0-1.0) [installed]
brotli-libs-1.0.9-r14 x86_64 {brotli} (MIT) [installed]
busybox-1.36.0-r9 x86_64 {busybox} (GPL-2.0-only) [installed]
busybox-binsh-1.36.0-r9 x86_64 {busybox} (GPL-2.0-only) [installed]
ca-certificates-20230506-r0 x86_64 {ca-certificates} (MPL-2.0 AND MIT) [installed]
ca-certificates-bundle-20230506-r0 x86_64 {ca-certificates} (MPL-2.0 AND MIT) [installed]
curl-8.1.2-r0 x86_64 {curl} (curl) [installed]
gnu-libiconv-libs-1.17-r1 x86_64 {gnu-libiconv} (LGPL-2.1-or-later) [installed]
icu-73.1-r1 x86_64 {icu} (ICU) [installed]
icu-data-en-73.1-r1 x86_64 {icu} (ICU) [installed]
icu-libs-73.1-r1 x86_64 {icu} (ICU) [installed]
libacl-2.3.1-r3 x86_64 {acl} (LGPL-2.1-or-later AND GPL-2.0-or-later) [installed]
libbz2-1.0.8-r5 x86_64 {bzip2} (bzip2-1.0.6) [installed]
libc-utils-0.7.2-r5 x86_64 {libc-dev} (BSD-2-Clause AND BSD-3-Clause) [installed]
libcrypto3-3.1.1-r1 x86_64 {openssl} (Apache-2.0) [installed]
libcurl-8.1.2-r0 x86_64 {curl} (curl) [installed]
libgcc-12.2.1_git20220924-r10 x86_64 {gcc} (GPL-2.0-or-later AND LGPL-2.1-or-later) [installed]
libidn2-2.3.4-r1 x86_64 {libidn2} (GPL-2.0-or-later AND LGPL-3.0-or-later) [installed]
libncursesw-6.4_p20230506-r0 x86_64 {ncurses} (X11) [installed]
libsodium-1.0.18-r3 x86_64 {libsodium} (ISC) [installed]
libssl3-3.1.1-r1 x86_64 {openssl} (Apache-2.0) [installed]
libstdc++-12.2.1_git20220924-r10 x86_64 {gcc} (GPL-2.0-or-later AND LGPL-2.1-or-later) [installed]
libunistring-1.1-r1 x86_64 {libunistring} (GPL-2.0-or-later OR LGPL-3.0-or-later) [installed]
libxml2-2.11.4-r0 x86_64 {libxml2} (MIT) [installed]
libzip-1.9.2-r2 x86_64 {libzip} (BSD-3-Clause) [installed]
musl-1.2.4-r0 x86_64 {musl} (MIT) [installed]
musl-utils-1.2.4-r0 x86_64 {musl} (MIT AND BSD-2-Clause AND GPL-2.0-or-later) [installed]
ncurses-terminfo-base-6.4_p20230506-r0 x86_64 {ncurses} (X11) [installed]
nghttp2-libs-1.53.0-r0 x86_64 {nghttp2} (MIT) [installed]
oniguruma-6.9.8-r1 x86_64 {oniguruma} (BSD-2-Clause) [installed]
openssl-3.1.0-r4 x86_64 {openssl} (Apache-2.0) [installed]
readline-8.2.1-r1 x86_64 {readline} (GPL-2.0-or-later) [installed]
scanelf-1.3.7-r1 x86_64 {pax-utils} (GPL-2.0-only) [installed]
sqlite-libs-3.41.2-r2 x86_64 {sqlite} (blessing) [installed]
ssl_client-1.36.0-r9 x86_64 {busybox} (GPL-2.0-only) [installed]
tar-1.34-r3 x86_64 {tar} (GPL-3.0-or-later) [installed]
xz-5.4.3-r0 x86_64 {xz} (GPL-2.0-or-later AND Public-Domain AND LGPL-2.1-or-later) [installed]
xz-libs-5.4.3-r0 x86_64 {xz} (GPL-2.0-or-later AND Public-Domain AND LGPL-2.1-or-later) [installed]
zlib-1.2.13-r1 x86_64 {zlib} (Zlib) [installed]
zstd-libs-1.5.5-r4 x86_64 {zstd} (BSD-3-Clause GPL-2.0-or-later) [installed]
Installed packages (apk list -I) using your tool
alpine-baselayout-3.4.3-r1 x86_64 {alpine-baselayout} (GPL-2.0-only) [installed]alpine-baselayout-data-3.4.3-r1 x86_64 {alpine-baselayout} (GPL-2.0-only) [installed]
alpine-keys-2.4-r1 x86_64 {alpine-keys} (MIT) [installed]
apk-tools-2.14.0-r0 x86_64 {apk-tools} (GPL-2.0-only) [installed]
argon2-libs-20190702-r4 x86_64 {argon2} (Apache-2.0 OR CC0-1.0) [installed]
brotli-libs-1.0.9-r14 x86_64 {brotli} (MIT) [installed]
busybox-1.36.0-r9 x86_64 {busybox} (GPL-2.0-only) [installed]
busybox-binsh-1.36.0-r9 x86_64 {busybox} (GPL-2.0-only) [installed]
ca-certificates-20230506-r0 x86_64 {ca-certificates} (MPL-2.0 AND MIT) [installed]
ca-certificates-bundle-20230506-r0 x86_64 {ca-certificates} (MPL-2.0 AND MIT) [installed]
curl-8.1.2-r0 x86_64 {curl} (curl) [installed]
gnu-libiconv-libs-1.17-r1 x86_64 {gnu-libiconv} (LGPL-2.1-or-later) [installed]
icu-data-full-73.1-r1 x86_64 {icu} (ICU) [installed]
icu-libs-73.1-r1 x86_64 {icu} (ICU) [installed]
libacl-2.3.1-r3 x86_64 {acl} (LGPL-2.1-or-later AND GPL-2.0-or-later) [installed]
libbz2-1.0.8-r5 x86_64 {bzip2} (bzip2-1.0.6) [installed]
libc-utils-0.7.2-r5 x86_64 {libc-dev} (BSD-2-Clause AND BSD-3-Clause) [installed]
libcrypto3-3.1.1-r1 x86_64 {openssl} (Apache-2.0) [installed]
libcurl-8.1.2-r0 x86_64 {curl} (curl) [installed]
libgcc-12.2.1_git20220924-r10 x86_64 {gcc} (GPL-2.0-or-later AND LGPL-2.1-or-later) [installed]
libidn2-2.3.4-r1 x86_64 {libidn2} (GPL-2.0-or-later AND LGPL-3.0-or-later) [installed]
libncursesw-6.4_p20230506-r0 x86_64 {ncurses} (X11) [installed]
libsodium-1.0.18-r3 x86_64 {libsodium} (ISC) [installed]
libssl3-3.1.1-r1 x86_64 {openssl} (Apache-2.0) [installed]
libstdc++-12.2.1_git20220924-r10 x86_64 {gcc} (GPL-2.0-or-later AND LGPL-2.1-or-later) [installed]
libunistring-1.1-r1 x86_64 {libunistring} (GPL-2.0-or-later OR LGPL-3.0-or-later) [installed]
libxml2-2.11.4-r0 x86_64 {libxml2} (MIT) [installed]
libzip-1.9.2-r2 x86_64 {libzip} (BSD-3-Clause) [installed]
musl-1.2.4-r0 x86_64 {musl} (MIT) [installed]
musl-utils-1.2.4-r0 x86_64 {musl} (MIT AND BSD-2-Clause AND GPL-2.0-or-later) [installed]
ncurses-terminfo-base-6.4_p20230506-r0 x86_64 {ncurses} (X11) [installed]
nghttp2-libs-1.53.0-r0 x86_64 {nghttp2} (MIT) [installed]
oniguruma-6.9.8-r1 x86_64 {oniguruma} (BSD-2-Clause) [installed]
openssl-3.1.0-r4 x86_64 {openssl} (Apache-2.0) [installed]
readline-8.2.1-r1 x86_64 {readline} (GPL-2.0-or-later) [installed]
scanelf-1.3.7-r1 x86_64 {pax-utils} (GPL-2.0-only) [installed]
sqlite-libs-3.41.2-r2 x86_64 {sqlite} (blessing) [installed]
ssl_client-1.36.0-r9 x86_64 {busybox} (GPL-2.0-only) [installed]
tar-1.34-r3 x86_64 {tar} (GPL-3.0-or-later) [installed]
xz-5.4.3-r0 x86_64 {xz} (GPL-2.0-or-later AND Public-Domain AND LGPL-2.1-or-later) [installed]
xz-libs-5.4.3-r0 x86_64 {xz} (GPL-2.0-or-later AND Public-Domain AND LGPL-2.1-or-later) [installed]
zlib-1.2.13-r1 x86_64 {zlib} (Zlib) [installed]
zstd-libs-1.5.5-r4 x86_64 {zstd} (BSD-3-Clause GPL-2.0-or-later) [installed]
Installed extensions (php-m) for both (they were equal)
[PHP Modules] apcuCore
ctype
curl
date
dom
fileinfo
filter
ftp
hash
iconv
intl
json
libxml
mbstring
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
random
readline
redis
Reflection
session
SimpleXML
sodium
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib
Surprisingly they're equal, furthermore, my script has +1 package installed (icu-73.1-r1 x86_64)
Dockerfiles
Dockerfile with my script:
Dockerfile with your tool:
I don't see anything that could've told me the reason for such a difference, maybe you know?
Also, I only have seen #241 in this repo mentioning the size difference, so maybe I'm doing something wrong?
Beta Was this translation helpful? Give feedback.
All reactions