GitHub Actions Container Job Fails to Start - Image, Entrypoint, or Volume
A job that runs inside a container (jobs.<id>.container) failed before your steps ran - the image could not be pulled, needed authentication, or its entrypoint exited immediately.
What this error means
The job fails during "Initialize containers" with an image pull error, an authentication failure, or a container that exits right after starting, before any step executes.
Error: failed to pull image "ghcr.io/org/ci:latest":
Error response from daemon: denied
# or
Error: Container action is only supported on LinuxCommon causes
Image missing or requires auth
A private container image needs registry credentials in the container.credentials block. A wrong tag or missing image fails the pull.
Entrypoint exits or platform mismatch
Container jobs run on Linux runners only, and the image must keep running for steps to execute. An image whose entrypoint exits, or running on a non-Linux runner, fails initialization.
How to fix it
Specify image and credentials
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/org/ci:1.4.0
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}Use a Linux runner and a valid image
- Run container jobs on a Linux runner such as ubuntu-latest.
- Use an image whose default command keeps the container alive (most base images do).
- Confirm the tag exists and the token can read the registry.
How to prevent it
- Pin container images to a tag or digest you have verified exists.
- Provide registry credentials for private images via container.credentials.
- Keep container jobs on Linux runners.