SOURCE_DATE_EPOCH is added. The value is consumed by the build scripts to make the binary reproducible.
For Debian, /var/log/* is removed as they contain timestamps
For Debian, /var/cache/ldconfig/aux-cache is removed as they contain inode numbers, etc.
For Alpine, virtual package versions are pinned to "0" to eliminate the timestamp-based version numbers that appear in /etc/apk/world and /lib/apk/db/installed
[!NOTE]
The following topics are NOT covered by this commit:
To reproduce file timestamps in layers, BuildKit has to be executed with
--output type=<TYPE>,rewrite-timestamp=true.
Needs BuildKit v0.13 or later.
To reproduce the base image by the hash, reproducers may:
modify the FROM instruction in Dockerfile manually
See:
docker-library/official-images#16044
SOURCE_DATE_EPOCH
is added. The value is consumed by the build scripts to make the binary reproducible.For Debian,
/var/log/*
is removed as they contain timestampsFor Debian,
/var/cache/ldconfig/aux-cache
is removed as they contain inode numbers, etc.For Alpine, virtual package versions are pinned to "0" to eliminate the timestamp-based version numbers that appear in
/etc/apk/world
and/lib/apk/db/installed
Also, Alpine-based images still have the following diff: