Skip to content

Docker API Version #7253

Description

@danielhmendoza01

Bug report

Expected behavior and actual behavior

Expected behavior:

The nextflow/nextflow:25.10.6 Docker image should include a Docker client that is compatible with currently supported Docker daemon API versions. At minimum, the bundled Docker client should support Docker API version 1.40 or newer.

Actual behavior:

The nextflow/nextflow:25.10.6 image includes an older Docker client:

Client:
 Version:      17.09.0-ce
 API version:  1.32

When this image is used and attempts to communicate with a up to date Docker daemon through /var/run/docker.sock, Docker commands fail with:

docker: Error response from daemon: client version 1.32 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version.
See 'docker run --help'.

This prevents workflows using the Nextflow Docker image from running Docker-based pipeline steps on hosts with newer Docker daemon versions.

Steps to reproduce the problem

Run the following command:

docker run --rm nextflow/nextflow:25.10.6 docker version

On my system, this shows that the Docker client bundled inside the Nextflow image is version 17.09.0-ce with API version 1.32.

To reproduce the failure against a up to date host Docker daemon, run the image with the Docker socket mounted:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock nextflow/nextflow:25.10.6 docker run hello-world

On systems where the Docker daemon requires API version 1.40 or newer, this fails because the Docker client inside the Nextflow image only supports API version 1.32.

Program output

Output showing the bundled Docker client version:

$ docker run --rm nextflow/nextflow:25.10.6 docker version
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Client:
 Version:      17.09.0-ce
 API version:  1.32

Output from the failing execution:

docker: Error response from daemon: client version 1.32 is too old. Minimum supported API version is 1.40, please upgrade your client to a newer version.
See 'docker run --help'.

Host/runner Docker version reports an API version:

API version:       1.54

Environment

  • Nextflow version: 25.10.6
  • Operating system: MacOS
  • Container runtime: Docker
  • Host Docker API version: 1.54
  • Bundled Docker client inside nextflow/nextflow:25.10.6: 17.09.0-ce, API version 1.32

Additional context

The issue appears to be caused by the Docker client bundled inside the nextflow/nextflow image. The Dockerfile copies a Docker binary from:

COPY dist/${TARGETPLATFORM}/docker /usr/local/bin/docker

Request: please update the bundled Docker client in the nextflow/nextflow image so that it supports Docker API version 1.40 or newer. A more recent Docker CLI would allow the image to work with current Docker daemons.

Additionally pushing an arm image would be nice as well. 

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions