Containerfile logo

Containerfile

A Containerfile is a plain text file that contains instructions for building container images. It is fully compatible with Docker's Dockerfile format and is the default file name used by Buildah and Podman. Containerfile instructions describe a base image (FROM), the steps to assemble the image (RUN, COPY, ADD, ARG, ENV), and runtime defaults (CMD, ENTRYPOINT, EXPOSE, USER, WORKDIR, VOLUME). Modern build engines extend the format with cache, secret, and SSH mounts and with platform-aware multi-stage builds.

4 APIs 0 Features
BuildKitBuildahContainersDevOpsDockerDockerfileImage BuildOCIPodmanStandard

APIs

Containerfile Reference

The official Containerfile reference shipped with the containers/common project. Documents every Containerfile instruction, syntax, and the ways Containerfile differs from Docke...

Dockerfile Reference

The Dockerfile format reference maintained by Docker. Containerfile is a strict superset of Dockerfile, so the Dockerfile reference covers the same instruction set with Docker-s...

BuildKit Dockerfile Frontend

Dockerfile and Containerfile parsing in modern Docker is performed by BuildKit's Dockerfile frontend, distributed as a container image (docker/dockerfile). The frontend version ...

OCI Image Specification

The Open Container Initiative Image Specification defines the format of the image artifacts that Containerfile and Dockerfile builds produce. The spec covers manifests, configur...

Resources

🔗
Specification
Specification
🔗
Documentation
Documentation
🔗
Reference
Reference
🔗
Reference
Reference
👥
GitHub Organization
GitHub Organization
👥
GitHubRepository
GitHubRepository

Sources

apis.yml Raw ↑
aid: containerfile
url: >-
  https://raw.githubusercontent.com/api-evangelist/containerfile/refs/heads/main/apis.yml
name: Containerfile
x-type: standard
description: >-
  A Containerfile is a plain text file that contains instructions for
  building container images. It is fully compatible with Docker's
  Dockerfile format and is the default file name used by Buildah and
  Podman. Containerfile instructions describe a base image (FROM), the
  steps to assemble the image (RUN, COPY, ADD, ARG, ENV), and runtime
  defaults (CMD, ENTRYPOINT, EXPOSE, USER, WORKDIR, VOLUME). Modern
  build engines extend the format with cache, secret, and SSH mounts and
  with platform-aware multi-stage builds.
image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg
tags:
  - BuildKit
  - Buildah
  - Containers
  - DevOps
  - Docker
  - Dockerfile
  - Image Build
  - OCI
  - Podman
  - Standard
created: '2025-01-01'
modified: '2026-04-28'
specificationVersion: '0.19'
apis:
  - aid: containerfile:reference
    name: Containerfile Reference
    description: >-
      The official Containerfile reference shipped with the containers/common
      project. Documents every Containerfile instruction, syntax, and the
      ways Containerfile differs from Dockerfile, including secret mounts
      and platform-aware ARGs.
    humanURL: https://github.com/containers/common/blob/main/docs/Containerfile.5.md
    baseURL: https://github.com
    tags:
      - Containerfile
      - Reference
      - containers/common
    properties:
      - type: Specification
        url: https://github.com/containers/common/blob/main/docs/Containerfile.5.md
      - type: Documentation
        url: https://docs.podman.io/en/latest/markdown/podman-build.1.html
      - type: GitHubRepository
        url: https://github.com/containers/common
    x-features:
      - Documents FROM, RUN, COPY, ADD, ARG, ENV, CMD, ENTRYPOINT, EXPOSE, USER, WORKDIR, VOLUME, LABEL, ONBUILD
      - RUN --mount support for bind, cache, secret, ssh, and tmpfs mounts
      - Platform-aware ARGs (TARGETARCH, TARGETOS, TARGETPLATFORM, BUILDARCH, BUILDOS, BUILDPLATFORM)
      - HEREDOC syntax for inline RUN scripts
      - Multi-stage builds via FROM ... AS name
    x-useCases:
      - Authoring portable Containerfiles for Podman and Docker
      - Migrating between Docker and Podman build tooling
      - Defining cross-platform images with multi-arch support
  - aid: containerfile:dockerfile-reference
    name: Dockerfile Reference
    description: >-
      The Dockerfile format reference maintained by Docker. Containerfile is
      a strict superset of Dockerfile, so the Dockerfile reference covers
      the same instruction set with Docker-specific extensions such as
      directives like syntax= and check=.
    humanURL: https://docs.docker.com/reference/dockerfile/
    baseURL: https://docs.docker.com
    tags:
      - Docker
      - Dockerfile
      - Reference
    properties:
      - type: Specification
        url: https://docs.docker.com/reference/dockerfile/
      - type: Documentation
        url: https://docs.docker.com/build/
      - type: Reference
        url: https://docs.docker.com/build/buildkit/
    x-features:
      - Authoritative Dockerfile reference for all instructions
      - Directives such as syntax= and check= for builder behavior
      - BuildKit-specific RUN --mount syntax
      - Linting rules via the Dockerfile checker
    x-useCases:
      - Authoring Dockerfiles or Containerfiles for Docker BuildKit
      - Looking up the exact syntax of an instruction or flag
      - Adopting newer BuildKit features like SSH mounts
  - aid: containerfile:buildkit-frontend
    name: BuildKit Dockerfile Frontend
    description: >-
      Dockerfile and Containerfile parsing in modern Docker is performed by
      BuildKit's Dockerfile frontend, distributed as a container image
      (docker/dockerfile). The frontend version is selected via the
      `# syntax=` directive and adds new features without requiring a
      BuildKit upgrade.
    humanURL: https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/reference.md
    baseURL: https://github.com
    tags:
      - BuildKit
      - Frontend
      - Moby
    properties:
      - type: Documentation
        url: https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/reference.md
      - type: GitHubRepository
        url: https://github.com/moby/buildkit
      - type: Reference
        url: https://hub.docker.com/r/docker/dockerfile
    x-features:
      - Versioned Dockerfile frontend images
      - Pluggable parser via `# syntax=` directive
      - Adds RUN --mount, secret, ssh, and cache features
      - Used by docker buildx and BuildKit-based builders
    x-useCases:
      - Pinning the Dockerfile frontend version for reproducibility
      - Adopting new RUN features without upgrading the daemon
      - Authoring Dockerfile linting rules and tools
  - aid: containerfile:oci-image-spec
    name: OCI Image Specification
    description: >-
      The Open Container Initiative Image Specification defines the format
      of the image artifacts that Containerfile and Dockerfile builds
      produce. The spec covers manifests, configuration, layers, and
      indexes consumed by container runtimes such as runc, crun, and
      containerd.
    humanURL: https://github.com/opencontainers/image-spec
    baseURL: https://github.com
    tags:
      - Image
      - OCI
      - Standards
    properties:
      - type: Specification
        url: https://github.com/opencontainers/image-spec
      - type: GitHubRepository
        url: https://github.com/opencontainers/image-spec
      - type: Reference
        url: https://opencontainers.org/
    x-features:
      - Image manifest, configuration, and layer schema
      - Image index for multi-platform images
      - Foundational spec for OCI registries and runtimes
    x-useCases:
      - Building tools that produce OCI images directly
      - Verifying that Containerfile output conforms to OCI
      - Implementing multi-arch image manifests
common:
  - type: Specification
    url: https://github.com/containers/common/blob/main/docs/Containerfile.5.md
  - type: Documentation
    url: https://docs.docker.com/reference/dockerfile/
  - type: Reference
    url: https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/reference.md
  - type: Reference
    url: https://opencontainers.org/
  - type: GitHub Organization
    url: https://github.com/containers
  - type: GitHubRepository
    url: https://github.com/containers/buildah
maintainers:
  - FN: Kin Lane
    email: [email protected]