debian

Estimated reading time: 4 minutes

Debian is a Linux distribution that’s composed entirely of free and open-source software.

GitHub repo: https://github.com/debuerreotype/docker-debian-artifacts

Library reference

This content is imported from the official Docker Library docs, and is provided by the original uploader. You can view the Docker Store page for this image at https://store.docker.com/images/debian

Supported tags and respective Dockerfile links

Quick reference

What is Debian?

Debian is an operating system which is composed primarily of free and open-source software, most of which is under the GNU General Public License, and developed by a group of individuals known as the Debian project. Debian is one of the most popular Linux distributions for personal computers and network servers, and has been used as a base for several other Linux distributions.

wikipedia.org/wiki/Debian

logo

About this image

The debian:latest tag will always point the latest stable release (which is, at the time of this writing, debian:stretch). Stable releases are also tagged with their version (ie, debian:8 is an alias for debian:jessie, debian:7 is an alias for debian:wheezy, etc).

The rolling tags (debian:stable, debian:testing, etc) use the rolling suite names in their /etc/apt/sources.list file (ie, deb http://deb.debian.org/debian testing main).

The mirror of choice for these images is the deb.debian.org CDN pointer/redirector so that it’s as reliable as possible for the largest subset of users (and is also the default mirror for debootstrap as of 2016-10-20). See the deb.debian.org homepage for more information.

If you find yourself needing a Debian release which is EOL (and thus only available from archive.debian.org), you should check out the debian/eol image, which includes tags for Debian releases as far back as Potato (Debian 2.2), the first release to fully utilize APT.

Locales

Given that it is a faithful “minbase” install of Debian, this image only includes the C, C.UTF-8, and POSIX locales by default. For most uses requiring a UTF-8 locale, C.UTF-8 is likely sufficient (-e LANG=C.UTF-8 or ENV LANG C.UTF-8).

For uses where that is not sufficient, other locales can be installed/generated via the locales package. PostgreSQL has a good example of doing so, copied below:

RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \
	&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8

<suite>-slim variants

These tags are an experiment in providing a slimmer base (removing some extra files that are normally not necessary within containers, such as man pages and documentation), and are definitely subject to change.

See the debuerreotype-slimify script (debuerreotype linked below) for more details about what gets removed during the “slimification” process.

How It’s Made

The rootfs tarballs for this image are built using the reproducible-Debian-rootfs tool, debuerreotype, with an explicit goal being that they are transparent and reproducible. Using the same toolchain, it should be possible to regenerate (clean-room!) the same tarballs used for building the official Debian images.

Additionally, the scripts in https://github.com/debuerreotype/docker-debian-artifacts are used to create each tag’s Dockerfile and collect architecture-specific tarballs into a single place (for placement into dist-ARCH branches on the same repository, which also contain extra metadata about the artifacts included in each build, such as explicit package versions).

library, sample, debian