In the Docker docs in Install Docker Engine on Ubuntu there's an option of installing from the repository (along with the options to download the deb file and install it, and using the convenience script which also uses the repository). But I see that if I just run

sudo apt-get install docker.io

On my machine, it will download and run Docker perfectly.

My question is: Is there a difference between installing docker from their own repository or from the default repositories already configured?

Plus, when going by the docs, you should install 3 packages docker-ce docker-ce-cli and containerd.io while when installing from the default repo you just install docker.io.

What are all those different packages and what do they include?

  • Typically, any package installed via the core OS repository for Ubuntu is out of date. That is the biggest issue. For most uses, this does not mean anything. But it is generally preferred to use the official Docker repos since those will be more up-to-date. Aug 29, 2021 at 15:54

2 Answers 2


Check the version of the docker.io that you've installed. At last check, Ubuntu was shipping 18.04, likely with their custom modifications. They may include dependencies on the other components, but components like the CLI were only recently broken out from the rest of the install.

By pulling directly from Docker's repos, you'll receive more recent versions, including security fixes, faster than Ubuntu can get them ported into their own repos. Right now, that is version 20.10.8.

By splitting out the containerd.io install, they can update this component (it's a separate project that is built on it's own) separately from the docker engine. And by splitting out the CLI, use cases that only need the CLI to access a remote docker host, do not require installing the full engine locally. The docker engine itself is the docker-ce install which receives requests from the CLI, manages networking and volumes, and sends the request to run the container to containerd.

  • I'm not sure when your last check was, but Ubuntu focal and groovy have 19.03 in the main repo and 20.10 in updates, while hirsute has 20.10. Security has 20.10.7 available.
    – hobbs
    Aug 30, 2021 at 1:26
  • @hobbs thanks, looks like I didn't check close enough. Any thoughts what the 20.04.1 means in the current security version number: 20.10.7-0ubuntu1~20.04.1
    – BMitch
    Aug 30, 2021 at 13:03

Docker-ce, docker-ce-cli and containerd.io are probably the runtime, cli tools, and daemon, respectively.

It's quite possible that one package will have another as dependency, so it will also be installed. Docker.io certainly needs the engine docker-ce to be installed

Last, installing from the Docker website will get you the latest version, which perhaps is more advanced (and debugged) than the version in the repository.

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.