An improved "base debian" container
  • Shell 58%
  • Dockerfile 28.7%
  • Makefile 13.3%
Find a file
Karl E. Jorgensen 0fcc3912a9
All checks were successful
Standard Build / build (push) Successful in 5m33s
Include linux/arm/v6 platform
2026-02-03 21:23:12 +00:00
.forgejo/workflows Include linux/arm/v6 platform 2026-02-03 21:23:12 +00:00
.dockerignore
.gitignore
apt-get.docker
Dockerfile
Makefile
README.md
test-1-Dockerfile

debian-base

A base docker image based on Debian.

This is identical to the upstream Debian image, but with a few useful tweaks:

  • apt-get is replaced by a script which automatically runs apt-get update if an install fails. This helps make other Dockerfiles tidier; no need to run apt-get update in them: it will be done automatically when needed. Also: apt-get clean will be run automatically after each apt-get command.

  • All docker RUN commands are wrapped in eatmydata which disables fsync (and friends). This makes commands like apt-get significantly quicker at the expense of data loss in the event of a crash. For docker builds: crashes are not much of a concern: It will need to be re-run anyway.

    Note that the eatmydata wrapper is not used at runtime: It is only a build-time thing.

  • While running "apt-get", the environment variable DEBIAN_FRONTEND is set to noninteractive: This prevents (well-behaved) packages from asking questions during installation.

So: Basically:

  • Docker builds will be faster

  • Dockerfiles can be simpler: No need to specify any options when doing RUN apt-get ..., and no need to run apt-get update at strategic points. Even if you add Debian repositories. It will "just work".

NOTE: If you use the SHELL directive in Dockerfiles which are based on this image: you will lose the eatmydata speed-up.