nextflow-io / nextflow-io/nextflow

Docker API Version

Open
#7,253 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

software/docker
Dominant language
Groovy
Stars
3.5k
Forks
811
Avg merge
2d 11h
Merged PRs (30d)
61

Description

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. 

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Dockerfile line that copies dist/${TARGETPLATFORM}/docker into /usr/local/bin/docker, then inspect how that bundled binary is produced. Run docker run --rm nextflow/nextflow:25.10.6 docker version to confirm the current client, and use the mounted-socket command to verify compatibility. Done means the image includes a Docker client supporting API version 1.40 or newer.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
build-system, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.