anycloud job
Run a finite container Job. Aliases: anycloud submit, anycloud run.
anycloud job [image] [-- command...] [options]
Use -- before a container command that has its own flags.
Omitting the image in an interactive terminal opens the GHCR image picker. In
CI or another non-interactive shell, pass the image as the first argument.
Options
| Option | Description |
|---|---|
-i, --id ID | Custom deployment ID |
-e, --env KEY=VALUE | Environment value; repeatable. -e KEY reads the current shell |
--env-file FILE | Load values from a dotenv file |
--secret NAME | Inject a named Secret; repeatable |
--cluster ID-OR-NAME | Run on a Ready Kubernetes cluster |
--credentials NAME | Select one saved compute credential |
--region REGION | Pin one compute region |
--vm-type TYPE | Exact VM; repeat for an ordered fallback pool |
--gpu-type TYPE | GPU model and optional count; repeat for an ordered fallback pool |
--spot | Use spot/preemptible capacity |
--disk-size GB | Root disk capacity |
--disk-tier TIER | medium, high, or ultra |
--zone ZONE | Availability zone |
--input-bucket NAME | Read-only input at /mnt/input |
--output-bucket NAME | Writable output at /mnt/output |
--checkpoint-bucket NAME | Existing read-write checkpoint at /mnt/checkpoint |
--input-storage-credentials NAME | Cross-account input identity |
--input-storage-region REGION | Cross-account input Bucket region |
--output-storage-credentials NAME | Cross-account output identity |
--output-storage-region REGION | Cross-account output Bucket region |
--checkpoint-storage-credentials NAME | Cross-account checkpoint identity |
--checkpoint-storage-region REGION | Cross-account checkpoint Bucket region |
--gpus VALUE | Docker GPU exposure: all or a count |
--shm-size SIZE | Shared memory, such as 8g |
--memory LIMIT | Container memory limit |
--cpus COUNT | Container CPU limit |
--runtime RUNTIME | Docker runtime |
--ipc MODE | host, private, or shareable |
--ulimit VALUE | Docker ulimit; repeatable |
--bind BIND... | Host bind mounts |
--gpu-type and --vm-type are mutually exclusive. --credentials may
appear once. If omitted for VM-backed compute, the CLI selects the sole saved
credential or shows a picker in an interactive terminal. Multiple credentials
in non-interactive use require --credentials. Local compute is
credentialless. Kubernetes Jobs instead require --cluster; cluster selection
is mutually exclusive with compute credential, region, VM/GPU type, spot,
disk, and zone placement.
An explicit --checkpoint-bucket works with spot or on-demand Jobs, must
already exist, and is always retained. Without that flag, a spot Job uses its
automatic deployment-named checkpoint bucket and deletes it when the Job
finishes.
AWS, Azure, and GCP Jobs use the selected compute identity for automatic spot checkpoints and do not need explicit checkpoint storage flags. Lambda, Vast, Local, and Kubernetes jobs do not have a compatible native bucket identity, so a checkpoint bucket requires explicit checkpoint storage credentials and region. Scoped cross-identity storage currently requires AWS credentials.
Examples
anycloud job ghcr.io/acme/train:latest \
--credentials my-aws \
--gpu-type h100:8 \
--spot \
--gpus all \
-- python train.py --epochs 10
anycloud job ghcr.io/acme/app:latest \
--credentials my-aws \
--vm-type t3.medium
anycloud job ghcr.io/acme/batch:latest \
--cluster production-k8s \
--shm-size 8g \
--gpus 1
Kubernetes Jobs currently translate --gpus and --shm-size. CPU and memory
limits are not yet supported for Kubernetes and fail at submission.
See Clusters for cluster creation and placement.
GITHUB_TOKEN supplies GitHub authentication in non-interactive use.
ANYCLOUD_CREDENTIALS_NAME is the credentials-name fallback when the flag is
absent.
For field precedence and constraints, see Configuration.