WarningNetwork
Port 3000 already in use
OpenClaw's web interface runs on port 3000 by default. If another process or a previous OpenClaw container is already using that port, the new container will fail to start.
Symptoms
- •
Error: listen EADDRINUSE :::3000 - •
Container exits immediately after starting - •
Bind for 0.0.0.0:3000 failed: port is already allocated
Causes
- •Another process (Node.js dev server, another app) is using port 3000
- •A previous OpenClaw container is still running
- •Docker didn't clean up the port binding from a crashed container
Solution
Find what's using port 3000
lsof -i :3000
or on Linux:
ss -tlnp | grep 3000
Stop the conflicting process
If it's a previous OpenClaw container:
docker compose down
If it's another process, kill it:
kill -9 <PID>
Or change the port
Edit your docker-compose.yml to map a different host port:
ports:
- "3001:3000"
Then access OpenClaw at http://localhost:3001 instead.
Restart OpenClaw
docker compose up -d