docker exec
Description
Run a command in a running container
Usage
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Options
Name, shorthand | Default | Description |
---|---|---|
--detach, -d | false | Detached mode: run command in the background |
--detach-keys | Override the key sequence for detaching a container | |
--env, -e | Set environment variables | |
--interactive, -i | false | Keep STDIN open even if not attached |
--privileged | false | Give extended privileges to the command |
--tty, -t | false | Allocate a pseudo-TTY |
--user, -u | Username or UID (format: <name|uid>[:<group|gid>]) |
Parent command
Command | Description |
---|---|
docker | The base command for the Docker CLI. |
Extended description
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.
Examples
Run docker exec
on a running container
First, start a container.
$ 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.
$ 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.
$ 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:
$ 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
© 2017 Docker, Inc.
Licensed under the Apache License, Version 2.0.
Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries.
Docker, Inc. and other parties may also have trademark rights in other terms used herein.
https://docs.docker.com/v1.13/engine/reference/commandline/exec/