docker compose exec

DescriptionExecute a command in a running container
Usagedocker compose exec [OPTIONS] SERVICE COMMAND [ARGS...]

Description

This is the equivalent of docker exec targeting a Compose service.

With this subcommand, you can run arbitrary commands in your services. Commands allocate a TTY by default, so you can use a command such as docker compose exec web sh to get an interactive prompt.

By default, Compose will enter container in interactive mode and allocate a TTY, while the equivalent docker exec command requires passing --interactive --tty flags to get the same behavior. Compose also support those two flags to offer a smooth migration between commands, whenever they are no-op by default. Still, interactive can be used to force disabling interactive mode (--interactive=false), typically when docker compose exec command is used inside a script.

Options

OptionDefaultDescription
-d, --detachDetached mode: Run command in the background
-e, --envSet environment variables
--indexIndex of the container if service has multiple replicas
-T, --no-ttytrueDisable pseudo-TTY allocation. By default docker compose exec allocates a TTY.
--privilegedGive extended privileges to the process
-u, --userRun the command as this user
-w, --workdirPath to workdir directory for this command