Interactive shell access
Open bash shell
docker exec -it app bash
Example:
docker exec -it app sh
Run as root user
docker exec -u 0 -it app sh
Example:
docker exec --user www-data app id
Run one-off commands
Check env and process list
docker exec app env
Example:
docker exec app ps aux
Run app command
docker exec app npm run migrate
Example:
docker exec db psql -U postgres -c "SELECT now();"
Copy + verify workflow
Inspect file contents
docker exec app cat /etc/hosts
Example:
docker exec app ls -lah /app
Combine with logs
docker logs app --tail 100
Example:
docker exec app curl -s localhost:3000/health
Common mistakes / Pitfalls
- docker exec works only on running containers, not stopped ones.
- Using bash fails on minimal images; use sh when bash is missing.
- Manual changes inside containers are ephemeral and disappear on rebuild/restart.
Last updated: February 2026