On ubuntu bionic: docker-model-plugin block the install
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.
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?
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
@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).
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.
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