Connect Docker
Know when a container on your Mac crashes, runs out of memory or can't start.
- You need
- No token Reads Docker on this Mac through its local socket
- The form asks
-
- Connector name
- Socket (optional)
- You can watch
-
- Containers down
- Containers over a limit
- Access
- GET requests to Docker's socket on this Mac only; it never starts or stops a container
On this page
The Docker connector reads Docker on your Mac through its local socket. Containers down alerts when a container crashes, runs out of memory, keeps restarting, turns unhealthy or can’t start. Containers over a limit alerts when a container’s memory or CPU goes above the limit you set. Every request is a GET: CoIsland never starts or stops a container, and nothing is kept in the Keychain.
Add a Docker connector
- Open Settings › Connectors, click +, choose Docker.
- Connector name: what monitors call it, such as
docker. - Socket: optional. CoIsland finds the socket of Docker Desktop, OrbStack, Colima, Rancher Desktop and Podman by itself. Give a path only if yours lives somewhere else.
- Click Add Connector.
Containers down on every container (name:*) comes as a recommended monitor, added in one click.
The two kinds
| Kind | Alerts when | Example body |
|---|---|---|
Containers down (docker.down) |
A container crashes, is killed for running out of memory, dies, keeps restarting, turns unhealthy or can’t start | project:my-app |
Containers over a limit (docker.usage) |
A container’s memory goes above memory:2GB, or above memory:90% of its own limit (of Docker’s memory when it has none), or its CPU above cpu:80% |
project:my-app memory:2GB |
Both take name:, a container’s name or a glob (name:web-*, or name:* for every container), project:, a Docker Compose project, and image:, an image with or without its tag (image:postgres matches postgres:17).
Containers down
- A crash is a non-zero exit that isn’t a stop. Exits 0, 130, 137 and 143, the codes
docker stop, Ctrl-C and quitting Docker leave, stay quiet. A program that exits with its own error code when told to stop still alerts, and running out of memory always does. - A failed start alerts with Docker’s own reason, for example
Bind for 0.0.0.0:8081 failed: port is already allocated. - Each crash alerts once. The first check records what is already down, so a container that died before you added the monitor stays quiet.
- The alert carries the container’s last 30 log lines. Hand it to Claude Code, Codex or Cortex Code and the agent gets them too.
Containers over a limit
memory:2GB is an amount, memory:90% a share of the container’s memory limit, and cpu:80% its CPU use. A container run without a memory limit can use all the memory Docker has, so memory:90% counts against that. A container alerts once when it crosses the limit, stays quiet while it stays above, and alerts again only after it dropped back under.
A watch file
-- name: My app's containers
-- kind: docker.down
-- connector: docker
-- every: 1m
project:my-app
When Docker isn’t running
Each Docker monitor says so on its card and alerts nothing. Quitting Docker on purpose never turns into an alert, and nothing is lost when Docker comes back.
The Docker connector watches Docker on this Mac only. Remote Docker hosts and Kubernetes aren’t covered, and it never acts on a container.
Troubleshooting
- Docker isn’t running. Start Docker Desktop, OrbStack, Colima, Rancher Desktop or Podman. The next check reads it again.
- Docker runs, but CoIsland doesn’t reach it. Its socket lives somewhere CoIsland doesn’t look.
docker context inspect --format '{{.Endpoints.docker.Host}}'prints it, likeunix:///Users/you/.docker/run/docker.sock. Put the path afterunix://in the connector’s Socket field.
Next: the Docker connector for what it watches.
Stuck? Open an issue on GitHub, or write to hello@coisland.app.