curl

The tool in a minimal container, allowing you to make HTTP(S) requests directly from the shell.


What is curl

The curl image provides the curl command-line tool in a minimal container, allowing you to make HTTP(S) requests directly from the shell. curl is widely used for testing APIs, downloading files, debugging network issues, and scripting HTTP interactions.This image is typically used in CI pipelines, debugging scenarios, or scratch containers where you need just enough tooling to perform a network request. It offers a convenient, reproducible way to execute curl without depending on a larger base image like Debian or Alpine.Because curl is often used for health checks, diagnostics, or lightweight integrations, this image is useful as a utility container within broader automation or orchestration pipelines.

How to use this image

The curl image can be run interactively or used in scripts to test network endpoints or download remote content.

Basic usage:

‍bashCopyEdit# Run curl to check an HTTP endpointdocker run curlimages/curl https://example.com

Pass additional curl flags:

‍bashCopyEdit# Include verbose output and show response headersdocker run curlimages/curl -v https://api.example.com/status

Use in a Kubernetes pod as a diagnostic tool:

yamlCopyEditcontainers:- name: curlimage: curlimages/curlcommand: ["curl", "-I", "http://my-service.namespace.svc"]

Logging and output:

The container logs directly to stdout, and since it runs a single command, it exits immediately after execution unless invoked with -it for interactive use.

Image variants

This image is maintained by curlimages/curl and offers several lightweight, purpose-built variants:

curlimages/curl:latest

Default image, based on Debian. Includes full-featured curl with common SSL and protocol support. Use this for general-purpose CLI usage and scripting.

curlimages/curl:alpine

Built on Alpine Linux. Smaller size, but some features or libraries may be omitted depending on Alpine’s minimal userland. Use when you want the smallest possible footprint and don’t need extended protocol support.

curlimages/curl:<version>

Tagged by specific curl version (e.g.7.88.1, 8.1.2, etc.) with or without a base variant (-alpine, -debian). Use for reproducible builds or when testing against a known version.

Versioned tags like curlimages/curl:8.1.2-alpine are helpful for locking behavior across builds or environments.

Interested in base images that start and stay clean?

This is a not a valid email
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.