Debian

Estimated reading time: 5 minutes

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

GitHub repo: https://github.com/tianon/docker-brew-debian

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 repo at https://store.docker.com/images/debian.

Supported tags and respective Dockerfile links

For detailed information about the published artifacts of each of the above supported tags (image metadata, transfer size, etc), please see the repos/debian directory in the docker-library/repo-info GitHub repo.

For more information about this image and its history, please see the relevant manifest file (library/debian). This image is updated via pull requests to the docker-library/official-images GitHub repo.

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:jessie). 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 discussion in tianon/docker-brew-debian#48 for some notes/details regarding the specifics of the implementation.

How It’s Made

If you are curious about what goes into creating this image, please see contrib/mkimage.sh in github.com/docker/docker (and contrib/mkimage/debootstrap in the same repo). Those are invoked by update.sh in the image repository, which provides some additional functionality such as generating <suite>-backports contents and repacking the generated tarballs for the <suite>-slim variants.

Additional interesting information is provided in files on the relevant dist branch of the image repository, namely the exact command used to build (SUITE/build-command.txt), a full log of the build itself (SUITE/build.log), and the “build manifest” (SUITE/build.manifest, which lists the version numbers of all the packages included in the rootfs tarball).

Supported Docker versions

This image is officially supported on Docker version 17.04.0-ce.

Support for older versions (down to 1.6) is provided on a best-effort basis.

Please see the Docker installation documentation for details on how to upgrade your Docker daemon.

User Feedback

Issues

If you have any problems with or questions about this image, please contact us through a GitHub issue. If the issue is related to a CVE, please check for a cve-tracker issue on the official-images repository first.

You can also reach many of the official image maintainers via the #docker-library IRC channel on Freenode.

Contributing

You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.

Documentation

Documentation for this image is stored in the debian/ directory of the docker-library/docs GitHub repo. Be sure to familiarize yourself with the repository’s README.md file before attempting a pull request.

library, sample, Debian