TL;DR: Restart the docker daemon and it rebuilds the built-in bridge network automatically. Do NOT run docker network create bridge; a user-defined network with that name is not the same thing and will confuse the daemon.

## The error

```text
Error response from daemon: network bridge not found
```

## Fix it

1. Confirm it is really missing:
   `docker network ls`
   Expected: no `bridge` row in the list.
2. Restart the docker service so the daemon recreates its built-in networks:
   `sudo systemctl restart docker`
   Expected: service restarts cleanly.
3. Verify:
   `docker network ls`
   Expected: `bridge`, `host`, and `none` are back.
4. Re-run your container command.

## When this applies
- The default `bridge` network was deleted (e.g. `docker network prune` with a filter, or manual `docker network rm bridge`)
- Fresh daemon state corruption after a crash

## When this does NOT apply
- A CUSTOM network name not found (recreate that specific network instead)
- "has active endpoints" (different problem)

## Versions
All Docker Engine versions.

## Why it happens
`bridge`, `host`, and `none` are built-in networks the daemon creates at startup. They can be deleted by overly broad prune/remove commands, and unlike user networks the daemon only recreates them on restart, not on demand.

## Edge cases
- Containers attached to the deleted bridge fail to start until the daemon restarts; their config still references the network ID.
- `docker network prune` never removes built-in networks by default, but explicit `docker network rm bridge` does.
- If the bridge does not come back after restart, check `sudo journalctl -u docker` for bridge-creation errors (often a conflicting iptables setup).
