Azure Pipelines Container Job Options Invalid
A container job runs each step inside a Docker container on the agent. Errors come from an OS mismatch between image and host, malformed options/volumes, or an agent that has no Docker daemon.
What this error means
A job with a container: reference fails when starting the container or running steps inside it - an exec format error (wrong OS), a bad --option, or a "docker not found" on a self-hosted agent.
##[error]standard_init_linux.go: exec user process caused: exec format error
##[error]Docker is not installed on this agent.Common causes
Image/host OS mismatch
A Windows container image on a Linux host (or vice versa) cannot exec - the container OS must match the agent OS.
No Docker on a self-hosted agent
Container jobs require Docker on the agent. Microsoft-hosted Linux images have it; a self-hosted agent without the Docker daemon cannot run container jobs.
How to fix it
Match the container OS and add needed options
Use a Linux image on a Linux pool and pass valid container options.
pool:
vmImage: ubuntu-latest
container:
image: node:20-bookworm
options: --user 0:0
jobs:
- job: build
steps: [ { script: node --version } ]Ensure Docker on self-hosted agents
- Install Docker and start the daemon on the self-hosted agent host.
- Confirm the agent user can run
dockerwithout sudo prompts. - Match the container image OS to the agent OS (Linux↔Linux, Windows↔Windows).
How to prevent it
- Keep container image OS aligned with the agent pool OS.
- Provision Docker on self-hosted agents that run container jobs.
- Validate custom
options/volumesagainst the Docker run reference.