Before you start
- An OCI/Docker image reachable from the agent. Public registries work; private registries need credentials configured on the agent.
- The in-container port your service listens on.
- A team you belong to with admin rights to manage services.
Create the service
- Open Containers in the sidebar.
- Click Create service.
-
Fill in the form:
- Click Create. The service appears in the list as created (definition saved, no replicas scheduled yet).
Deploy
From the service detail page, click Deploy. The state moves through deploying → running as agents pull the image and the health probe starts succeeding. If no replica becomes healthy, the service moves to failed. Replicas are placed across eligible agents. If you ask for more replicas than you have eligible agents, the extras stay pending until more agents come online with matching labels.Update
- Edit — change definition fields. Image, exposed port, and volume changes generally need a redeploy to take effect on running replicas.
- Undeploy — stop replicas. The definition is preserved; you can redeploy later without re-entering anything.
- Delete — remove the definition. Replicas are stopped first.
Observability
The detail page shows:- Per-instance status and health probe result.
- Logs from running replicas.
Troubleshooting
Stuck indeploying — agents are pulling the image or the
health probe is failing. Check the agent’s logs; common causes are
private-registry credentials missing on the agent, or the health
path returning non-2xx.
Crash-looping — the container’s main process is exiting. Read
the replica’s logs from the detail page.
Not picked up — the service’s required labels don’t match any
agent’s. Compare labels in the service form and on the Agents
page.
Related
- Container services — concept.
- Agents — what hosts the containers and how labels work.
