Supported tags and respective
Where to file issues:
Supported Docker versions:
the latest release (down to 1.6 on a best-effort basis)
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.
About this image
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:7 is an alias for
The rolling tags (
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.
Given that it is a faithful "minbase" install of Debian, this image only includes the
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
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/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
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).
@phillo Interesting approach. Usually, I would expect the image to be what is distributed. To answer your question though, you can add whatever packages are needed in your Dockerfile. This is just a base image.
@ikit maybe because your dockerhost is a ubuntu ;)
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.
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 ?
@m10141 use 'ip addr'
The command ifconfig returns command not found
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...
@rajaaggie check out the DF
uname -p returns
...and what about lenny version? old version are very useful for doing nasty things like packaging for old infrastructures