Official Repository

Last pushed: a month ago
Short Description
Debian is a Linux distribution that's composed entirely of free and open-source software.
Full Description

Supported tags and respective Dockerfile links

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.

For detailed information about the virtual/transfer sizes and individual layers of each of the above supported tags, please see the repos/debian/tag-details.md file in the docker-library/repo-info 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

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 1.12.3.

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.

Docker Pull Command

Comments (27)
jodumont
3 months ago

@ikit maybe because your dockerhost is a ubuntu ;)

phillo
4 months ago

The list of packages installed is very small. It's actually missing the less package, which is surprising, because that appears to be included in the base system (at important priority). Am I mistaken about less being in the base system, or is this image some subset of base?

And another, related question: are there other, larger debian images (like desktop) either in existence, or planned? I'm testing software for end users, which I'll distribute to them directly (as an AppImage), and I know that the base install doesn't have enough packages. So it's useful for me to test on desktop images, to see if it works there out of the box.

ikit
4 months ago

Hi, Why when I build my container from this hub when I connect to my container and run the command uname -a, I got an Ubuntu .....

root@dbedbe4ea6f4:/# uname -a
Linux dbedbe4ea6f4 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 GNU/Linux

I tried to build

  • FROM debian:jessie
  • FROM debian:latest
  • FROM debian:8.5
  • FROM debian:8

and for each I got an ubuntu :-(
Is it normal ?

azuresteve
6 months ago

@m10141 use 'ip addr'

m10141
6 months ago

The command ifconfig returns command not found

smcdowell
9 months ago

If I use FROM debian:jessie as the basis of an image that is part of a commercial project, what does that imply from a licensing point of view? Is it equivalent to redistributing debian on a CD for instance...

rajamuthuraman
a year ago

@rajaaggie check out the DF

christianhesslemonade
a year ago

The command uname -p returns unknown

jjuarez
a year ago

...and what about lenny version? old version are very useful for doing nasty things like packaging for old infrastructures

tallpaul
2 years ago

Is there a way to build an i686 instead of a x86_64 squeeze image?