What's the difference between docker.io and docker?
Solution 1
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.
Solution 2
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.
Solution 3
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.
Solution 4
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?!
Solution 5
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/
Related videos on Youtube
s2s
Updated on September 18, 2022Comments
-
s2s almost 2 years
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 anddocker
the client? Why does the daemon need to run all the time? -
s2s almost 10 yearsYes, but that doesn't say anything about the two different processes, namely docker and docker.io
-
Luke Woodward about 8 yearsThat's it exactly. docker.io uses the same binary for both client and server/daemon.
-
Pierz over 7 yearsThe difference seems to have narrowed now in Xenial: Ubuntu's docker.io 1.12.3 vs Docker's docker-engine 1.13.1.
-
nafg over 7 years@Pierz but will ubuntu upgrade within the same release? Before 18.04 the difference will probably widen again ;)
-
michael almost 7 yearsone 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 intodocker-ce
anddocker-ee
(a free "community edition" & paid "enterprise edition", respectively), anddocker-compose
must be installed either from git or viapip install docker-compose
to get the correct, corresponding latest version. Presently, sadly, one must simply avoid ubuntu repos for all things docker. -
Toto over 6 yearsThis doesn't answer the question.
-
Pierre.Vriens over 6 yearsHow does this answer the question, i.e. "what's the difference ...?"?
-
pevik over 6 years@peteshaw: typo Sytem => System
-
MacMartin about 6 yearsthis 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) -
theferrit32 over 5 yearsThe answer is that
docker
is a tray plugin, whiledocker.io
is the Docker containerization software. Ubuntu already had a package calleddocker
so they had to call the package for the Docker container softwaredocker.io
-
JacKeown about 5 yearsThis 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
-
Reece over 4 yearsAlso, this heads up: the snap is called docker. Therefore,
sudo snap install docker
andsudo apt install docker.io
both install the container system called docker, butsudo apt install docker
will install the system tray called docker. The docker dpkg is actually a transitional package for wmdocker, so perhaps the naming will eventually be made less confusing.