command: docker exec short: Run a command in a running container long: |- The `docker exec` command runs a new command in a running container. The command started using `docker exec` only runs while the container's primary process (`PID 1`) is running, and it is not restarted if the container is restarted. usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] pname: docker plink: docker.yaml options: - option: detach shorthand: d default_value: "false" description: 'Detached mode: run command in the background' - option: detach-keys description: Override the key sequence for detaching a container - option: env shorthand: e description: Set environment variables - option: interactive shorthand: i default_value: "false" description: Keep STDIN open even if not attached - option: privileged default_value: "false" description: Give extended privileges to the command - option: tty shorthand: t default_value: "false" description: Allocate a pseudo-TTY - option: user shorthand: u description: 'Username or UID (format: [:])' examples: |- ### Run `docker exec` on a running container First, start a container. ```bash $ docker run --name ubuntu_bash --rm -i -t ubuntu bash ``` This will create a container named `ubuntu_bash` and start a Bash session. Next, execute a command on the container. ```bash $ docker exec -d ubuntu_bash touch /tmp/execWorks ``` This will create a new file `/tmp/execWorks` inside the running container `ubuntu_bash`, in the background. Next, execute an interactive `bash` shell on the container. ```bash $ docker exec -it ubuntu_bash bash ``` This will create a new Bash session in the container `ubuntu_bash`. ### Try to run `docker exec` on a paused container If the container is paused, then the `docker exec` command will fail with an error: ```bash $ docker pause test test $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1ae3b36715d2 ubuntu:latest "bash" 17 seconds ago Up 16 seconds (Paused) test $ docker exec test ls FATA[0000] Error response from daemon: Container test is paused, unpause the container before exec $ echo $? 1 ```