boost package 10x larger on 3.10 than on 3.9
Given two Dockerfiles:
FROM alpine:3.9
RUN apk add --no-cache boost
FROM alpine:3.10
RUN apk add --no-cache boost
After building with: docker build .
, their size differs greatly:
$ docker images boost-wat --format "{{.Repository}}:{{.Tag}}\t{{.Size}}"
boost-wat:3.10 137MB
boost-wat:3.9 14.4MB
Seems like boost
on 3.10
is installing a bunch of extra dependencies, including both python2
, and python3
.
alpine:3.10
Sending build context to Docker daemon 2.048kB
Step 1/2 : FROM alpine:3.10
---> 961769676411
Step 2/2 : RUN apk add --no-cache boost
---> Running in 1f11a9a4c115
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz
(1/49) Installing boost-atomic (1.69.0-r4)
(2/49) Installing libgcc (8.3.0-r0)
(3/49) Installing boost-chrono (1.69.0-r4)
(4/49) Installing boost-container (1.69.0-r4)
(5/49) Installing boost-context (1.69.0-r4)
(6/49) Installing boost-contract (1.69.0-r4)
(7/49) Installing boost-thread (1.69.0-r4)
(8/49) Installing boost-coroutine (1.69.0-r4)
(9/49) Installing boost-date_time (1.69.0-r4)
(10/49) Installing boost-fiber (1.69.0-r4)
(11/49) Installing boost-filesystem (1.69.0-r4)
(12/49) Installing libstdc++ (8.3.0-r0)
(13/49) Installing icu-libs (64.2-r0)
(14/49) Installing boost-regex (1.69.0-r4)
(15/49) Installing boost-graph (1.69.0-r4)
(16/49) Installing libbz2 (1.0.6-r7)
(17/49) Installing xz-libs (5.2.4-r0)
(18/49) Installing zstd-libs (1.4.0-r0)
(19/49) Installing boost-iostreams (1.69.0-r4)
(20/49) Installing boost-locale (1.69.0-r4)
(21/49) Installing boost-log (1.69.0-r4)
(22/49) Installing boost-log_setup (1.69.0-r4)
(23/49) Installing boost-math (1.69.0-r4)
(24/49) Installing boost-prg_exec_monitor (1.69.0-r4)
(25/49) Installing boost-program_options (1.69.0-r4)
(26/49) Installing expat (2.2.8-r0)
(27/49) Installing libffi (3.2.1-r6)
(28/49) Installing gdbm (1.13-r1)
(29/49) Installing ncurses-terminfo-base (6.1_p20190518-r0)
(30/49) Installing ncurses-terminfo (6.1_p20190518-r0)
(31/49) Installing ncurses-libs (6.1_p20190518-r0)
(32/49) Installing readline (8.0.0-r0)
(33/49) Installing sqlite-libs (3.28.0-r0)
(34/49) Installing python3 (3.7.3-r0)
(35/49) Installing boost-python3 (1.69.0-r4)
(36/49) Installing python2 (2.7.16-r1)
(37/49) Installing boost-python2 (1.69.0-r4)
(38/49) Installing boost-random (1.69.0-r4)
(39/49) Installing boost-serialization (1.69.0-r4)
(40/49) Installing boost-stacktrace_basic (1.69.0-r4)
(41/49) Installing boost-stacktrace_noop (1.69.0-r4)
(42/49) Installing boost-system (1.69.0-r4)
(43/49) Installing boost-timer (1.69.0-r4)
(44/49) Installing boost-type_erasure (1.69.0-r4)
(45/49) Installing boost-unit_test_framework (1.69.0-r4)
(46/49) Installing boost-wave (1.69.0-r4)
(47/49) Installing boost-wserialization (1.69.0-r4)
(48/49) Installing boost-libs (1.69.0-r4)
(49/49) Installing boost (1.69.0-r4)
Executing busybox-1.30.1-r2.trigger
OK: 150 MiB in 63 packages
Removing intermediate container 1f11a9a4c115
---> cd266d9978a3
Successfully built cd266d9978a3
alpine:3.9
Sending build context to Docker daemon 2.048kB
Step 1/2 : FROM alpine:3.9
---> 055936d39205
Step 2/2 : RUN apk add --no-cache boost
---> Running in c5081a39c1ed
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
(1/8) Installing boost-system (1.67.0-r2)
(2/8) Installing libgcc (8.3.0-r0)
(3/8) Installing boost-chrono (1.67.0-r2)
(4/8) Installing boost-filesystem (1.67.0-r2)
(5/8) Installing boost-regex (1.67.0-r2)
(6/8) Installing boost-thread (1.67.0-r2)
(7/8) Installing libstdc++ (8.3.0-r0)
(8/8) Installing boost (1.67.0-r2)
Executing busybox-1.29.3-r10.trigger
OK: 14 MiB in 22 packages
Removing intermediate container c5081a39c1ed
---> 14062d76267e
Successfully built 14062d76267e