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