Skip to content

installDockerGeneric pipe masks curl failure, Docker install silently skipped #23760

Description

@marwan562

Follow-up from review on #23716 (out of scope there per maintainer, tracked separately).

In pkg/libmachine/provision/utils.go, installDockerGeneric runs:

if ! type docker; then curl -fsSL | sh -; fi

Even with -f, when curl fails it outputs nothing, sh reads EOF, executes zero commands and exits 0. p.SSHCommand then returns nil error and minikube proceeds assuming Docker installed successfully, when it is not.

Suggested by Roslaan001 on #23716, either:

if ! type docker >/dev/null 2>&1; then curl -fsSL -o /tmp/install-docker.sh && sh /tmp/install-docker.sh && rm -f /tmp/install-docker.sh; fi

or verify after the pipeline:

if ! type docker >/dev/null 2>&1; then curl -fsSL | sh - && type docker >/dev/null 2>&1; fi

Related: #23709 (same unchecked-download bug class), #23716 (the -f flag, necessary but not sufficient here), #23719 (download-path test hardening).

Activity

  1. added theissue type on Sep 19, 2026
  2. added this to the minikube 1.40 milestone on Sep 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    co/docker-driverIssues related to kubernetes in container

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions