docker-install icon indicating copy to clipboard operation
docker-install copied to clipboard

On ubuntu bionic: docker-model-plugin block the install

Open rejeangroleau opened this issue 6 months ago • 5 comments

On ubuntu bionic, only since today (Thursday, July 10, 2025): When running the usual wget of get.docker.com piped into sh, the install script ends up failing with an error about not being able to apt-install the docker-model-plugin package.

Running the same apt command (mentioned in the install script error log) but removing the last package (docker-model-plugin) solves the issue.

But it would be nice to be able to do (as it used to work for the past years) just a simple "wget piped into sh" and succeed (without any patching afterwards).

It's ok if you want to just close and delete this issue, I just wanted to mention it to someone somewhere (since not everybobdy is using such old ubuntu versions) and it looked like here was the best place to mention it.

I hope I did not bother anyone needlessly, in that case I am sorry about it.

rejeangroleau avatar Jul 10 '25 18:07 rejeangroleau

Thanks!

Yeah that indeed happens, because we don't support these distros anymore and the model-cli package wasn't built for them. We should adjust the script so that it doesn't install that package on these distros.

https://github.com/docker/docker-install/blob/7040dd2bf115a359317b1de84de611aeabcb7bc2/install.sh#L557C40-L557C59

Are you interested in working on a PR?

vvoland avatar Jul 10 '25 19:07 vvoland

We had this issue running GitLab runners with docker-machine and creating instances using ubuntu bionic AMI.

Docker-machine uses the "https://get.docker.com" script to install docker. With this issue each new instance that is created by docker-machine is right after deleted because of this error in docker installation:

"error installing docker"

Running tests we found the detailed error:

E: Unable to locate package docker-model-plugin

As a workaround (while this issue is not resolved) we fixed by setting the URL of the script to a previous version without the "docker-model-plugin":

--engine-install-url=https://raw.githubusercontent.com/docker/docker-install/51fb9146580c75fe07421a1451b060eea126a832/install.sh

neuber77 avatar Jul 11 '25 14:07 neuber77

@vvoland Thanks for the quick reply! I will use @neuber77 solution for now (to reference a fixed previous-version commit of the script) instead of creating a PR (mostly because I am unaware if the docker-model-plugin is missing just because they are still "working on it for older distros" or if it will be permanently not-available-for-older-distros, so excluding it from the source code line that you mentioned is not a clear win for now for me).

rejeangroleau avatar Jul 11 '25 15:07 rejeangroleau

Let me reopen, as it's still an issue :)

I'm pretty sure it won't be available for the older distros, so it doesn't make sense for the install script to try to install it.

vvoland avatar Jul 11 '25 16:07 vvoland

I just listed the availability of those two packages (for the "version 23 check" condition) and here it is:

lsb_dist dist_version docker-buildx-plugin docker-model-plugin
debian bookworm present present
debian bullseye present present
debian buster present missing
debian jessie missing missing
debian stretch missing missing
debian trixie present present
debian wheezy missing missing
raspbian bookworm missing missing
raspbian bullseye missing missing
raspbian buster missing missing
raspbian jessie missing missing
raspbian stretch missing missing
ubuntu artful missing missing
ubuntu bionic present missing
ubuntu cosmic missing missing
ubuntu disco missing missing
ubuntu eoan missing missing
ubuntu focal present missing
ubuntu groovy missing missing
ubuntu hirsute missing missing
ubuntu impish missing missing
ubuntu jammy present present
ubuntu kinetic present missing
ubuntu lunar present missing
ubuntu mantic present missing
ubuntu noble present present
ubuntu oracular present present
ubuntu plucky present present
ubuntu trusty missing missing
ubuntu xenial missing missing
ubuntu yakkety missing missing
ubuntu zesty missing missing

So the "version 23 check" condition could look like:

	if version_gte "23.0"; then
		case "$lsb_dist.$dist_version" in
			debian.trixie|debian.bookworm|debian.bullseye)
				pkgs="$pkgs docker-buildx-plugin docker-model-plugin"
				;;
			debian.buster)
				pkgs="$pkgs docker-buildx-plugin"
				;;
			ubuntu.plucky|ubuntu.oracular|ubuntu.jammy|ubuntu.noble)
				pkgs="$pkgs docker-buildx-plugin docker-model-plugin"
				;;
			ubuntu.mantic|ubuntu.lunar|ubuntu.kinetic|ubuntu.focal|ubuntu.bionic)
				pkgs="$pkgs docker-buildx-plugin"
				;;
		esac
	fi

rejeangroleau avatar Jul 11 '25 17:07 rejeangroleau