Docker API Version

Đang mở
#7,253 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
64/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
docker
Lĩnh vực
build-system, devops

Hướng nghiên cứu

Bắt đầu với dòng Dockerfile sao chép dist/${TARGETPLATFORM}/docker vào /usr/local/bin/docker, sau đó kiểm tra cách binary được đóng gói đó được tạo ra. Chạy docker run --rm nextflow/nextflow:25.10.6 docker version để xác nhận client hiện tại, và sử dụng lệnh với socket đã được mount để xác minh khả năng tương thích. Hoàn thành khi image bao gồm một Docker client hỗ trợ API version 1.40 hoặc mới hơn.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

software/docker

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. 

Ngôn ngữ chính
Groovy
Star
3.5k
Fork
823
Merge trung bình
1 ngày 22 giờ
Pull request đã merge (30 ngày)
137

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của nextflow-io/nextflow

Tất cả issue của nextflow-io/nextflow

Issue tương tự

Thêm issue về Build System

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.