Why is the installation guide mostly not working?

I’m just curious why such a powerful and popular tool never got this right.

So many times i had to install docker on a fresh install ubuntu/debian and almost never the official guide works right.

Ans searching for the solution, i realize that so many other people is also trying to avoid hustle by removing/purging everything and trying it again.

I take that ubuntu is the most popular linux distro. I just got the latest LTS and i tried following the installation guide. Guess what, i ended up spending hours not being able to install it.

Tried first docker-desktop, doesn’t work.

dpkg -i docker-desktop-4.19.0-amd64.deb 
(Reading database ... 228825 files and directories currently installed.)
Preparing to unpack docker-desktop-4.19.0-amd64.deb ...
Unpacking docker-desktop (4.19.0-106363) over (4.19.0-106363) ...
dpkg: dependency problems prevent configuration of docker-desktop:
 docker-desktop depends on qemu-system-x86 (>= 5.2.0); however:
  Package qemu-system-x86 is not installed.
 docker-desktop depends on docker-ce-cli; however:
  Package docker-ce-cli is not installed.
 docker-desktop depends on pass; however:
  Package pass is not installed.

dpkg: error processing package docker-desktop (--install):
 dependency problems - leaving unconfigured
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...
Processing triggers for desktop-file-utils (0.26-1ubuntu3) ...
Errors were encountered while processing:
 docker-desktop

I purged/deleted every trace of it and tied installing through the official repo and guess what, it doesn’t work.

I tried this

https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository

The repo it adds simply fails with:

The following additional packages will be installed:
  docker-ce-cli
The following NEW packages will be installed:
  docker-ce-cli
0 upgraded, 1 newly installed, 0 to remove and 14 not upgraded.
41 not fully installed or removed.
Need to get 0 B/13.3 MB of archives.
After this operation, 36.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
(Reading database ... 229311 files and directories currently installed.)
Preparing to unpack .../docker-ce-cli_5%3a24.0.1-1~ubuntu.22.04~jammy_amd64.deb ...
Unpacking docker-ce-cli (5:24.0.1-1~ubuntu.22.04~jammy) ...
dpkg: error processing archive /var/cache/apt/archives/docker-ce-cli_5%3a24.0.1-1~ubuntu.22.04~jammy_amd64.deb (--unpack):
 trying to overwrite '/usr/bin/docker', which is also in package podman-docker 3.4.4+ds1-1ubuntu1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/docker-ce-cli_5%3a24.0.1-1~ubuntu.22.04~jammy_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Also, i can’t even count on how many stupid issues i had when i was trying to install it on ARM.

Why can’t you make it right guys?

Why do i have to become expert in knowing every single dependency, even when trying to install in the most common environment as LTS Ubuntu is?

Can you share which documentation you followed, especially the part where you see that arm architecture is supported for Docker Desktop?

When I look at the supported platforms matrix, it clearly indicates it is for x86_64 / amd64. Of course trying to install an amd64 package on an arm cpu is not going to succeed.

Something doesn’t add up here. Your outputs clearly show you try to install amd64 packages.
So did you mean “I as trying to install it on amd64” or are you actually using an arm architecture and just happened to use the packages from a wrong architecture?

Well, there are two variants of Docker on Linux. Docker CE and Docker Desktop for Linux which also contains Docker CE in a virtual machine. As @meyay already mentioned, Docker Desktop for Linux is not supported on ARM. Docker Desktop for Mac is supported on ARM because of Apple’s new popular M1 and M2 cpus.

The official documentation of installing Docker CE never failed me. I don’t actively use Docker Desktop for Linux, so I don’t know how accurate the documentation of that, but these kind of tools can indeed require more advanced Linux skills sometimes, because of the lot of different distributions.

In your case there is another issue too. It seems you want to use Docker Desktop, but at the same time you have Podman on the same machine which also instaled the docker command. Docker Desktop for Linux requires docker-ce-cli as a dependency, but it can’t install it if you already have it from another repository.

Podman is a completely different tool, it is just compatible with Docker usually and it provides a docker command which will of course use Podman instead of Docker. I would never install such a misleading alias for Podman or for any software. It is best if we are aware of what we actually use and if we need podman, let’s use the “podman” command. If we need Docker, than the “docker” command, because even if Podman tries to make the podman cli compatible with the docker commands, it will probably never be 100% the same and when you share the error messages on a forum after using the docker command not knowing that it is actually not Docker at all can take a lot of time for people trying to figure out why it doesn’t work although they can’t reproduce the issue.

Try to remove the “podman-docker” package and finish the installation of Docker Desktop. Of course once the package manager is in a corrupt state, it could lead to other issues which has nothing to do with Docker. It is just the Linux world, but let’s hope removing podman-docker and running the installation again solves it

Well spotted! I have missed it.