Trying to learn docker here but I am a bit confused on what the difference is between docker.io and docker. Is docker.io the daemon server and docker the client? Why does the daemon need to run all the time?

5 Answers 5


If you are using Ubuntu, and you do an

sudo apt-get install docker

You will get a package described as a "System tray for KDE3/GNOME2 applications"

If on the other hand, you do

sudo apt-get install docker.io

You will get a package described as "Docker complements kernel namespacing with a high level API which operates at the process level." i.e. the Docker everyone is usually thinking about when they say Docker.

  • 2
    This doesn't answer the question.
    – Toto
    Dec 1, 2017 at 14:23
  • 2
    How does this answer the question, i.e. "what's the difference ...?"? Dec 1, 2017 at 14:42
  • 4
    this answered my question, because I was confused that apt-get install docker on ubuntu 18.04 didnt't gave me the docker application and I looked what the difference between those two is (apt-cache search ^docker would have told me that, too)
    – MacMartin
    May 9, 2018 at 8:26
  • 26
    The answer is that docker is a tray plugin, while docker.io is the Docker containerization software. Ubuntu already had a package called docker so they had to call the package for the Docker container software docker.io Nov 27, 2018 at 3:39
  • 3
    This is the best answer as it actually tells you that if you want to install the container software, you should use sudo apt-get install docker.io
    – JacKeown
    May 1, 2019 at 20:57

docker-io is the deb package name used by Ubuntu distribution docker-engine is the deb package name from the official Docker Ubuntu distribution.

Probably you want docker-engine because the Ubuntu one is too old and buggy to be used. As of today Ubuntu has 1.6.2 and Docker registry has 1.12.0 !

In terms of Docker, 1.6.2 counts as stone-age.

  • 4
    The difference seems to have narrowed now in Xenial: Ubuntu's docker.io 1.12.3 vs Docker's docker-engine 1.13.1.
    – Pierz
    Feb 20, 2017 at 16:47
  • @Pierz but will ubuntu upgrade within the same release? Before 18.04 the difference will probably widen again ;)
    – nafg
    Mar 2, 2017 at 3:43
  • 4
    one year later, "mind the gap": the versions available via docker(.com) vs the ubuntu pkg repo is now so wide it's hard to even compare (as of mid-2017, ubuntu 17.04 (zesty)). What was called docker-engine from docker.com is now split into docker-ce and docker-ee (a free "community edition" & paid "enterprise edition", respectively), and docker-compose must be installed either from git or via pip install docker-compose to get the correct, corresponding latest version. Presently, sadly, one must simply avoid ubuntu repos for all things docker.
    – michael
    Jul 30, 2017 at 23:30

Docker is the name of the open platform for developers and sysadmins to build, ship, and run distributed applications. Docker.io on the other hand is the name of the package that you install in your Linux OS (i.e. Ubuntu). See this link here.

In terms of how it works, the Docker Engine consists of two parts: a daemon, a server process that manages all the containers, and a client, which acts as a remote control for the daemon. I would suggest you to try a quick demo they have on their site, located here.

From a usability standpoint, you invoke the Docker client anytime you use the docker command.

  • 5
    Yes, but that doesn't say anything about the two different processes, namely docker and docker.io
    – Pithikos
    Jul 18, 2014 at 15:30

It seems docker is just a symbolic link to docker.io:

> file $(which docker)
/usr/local/bin/docker: symbolic link to `/usr/bin/docker.io'

So we can assume that docker.io is both the daemon and the client process, just invoked with different flags I assume?!

  • That's it exactly. docker.io uses the same binary for both client and server/daemon.
    – Rob Wells
    Apr 17, 2016 at 15:22

Talking about Debian packages: docker.io is the name of the package provided by Debian/Ubuntu, while docker is the name of the package provided by docker.com.

Technically, these packages are built differently: for docker.io the build dependencies are fetched from Debian packages, while for docker, the build dependencies are in-tree, in the vendor directory.

If you want more details, I wrote a detailed blog post at: https://www.collabora.com/news-and-blog/blog/2018/07/04/docker-io-debian-package-back-to-life/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.