Run a process in a running container. The command started using `docker exec` will only run while the container's primary process (`PID 1`) is running, and will not be restarted if the container is restarted. If the container is paused, then the `docker exec` command will wait until the container is unpaused, and then run # CAPABILITIES `privileged` gives the process extended [Linux capabilities](https://man7.org/linux/man-pages/man7/capabilities.7.html) when running in a container. Without this flag, the process run by `docker exec` in a running container has the same capabilities as the container, which may be limited. Set `--privileged` to give all capabilities to the process. # USER `user` sets the username or UID used and optionally the groupname or GID for the specified command. The followings examples are all valid: --user [user | user:group | uid | uid:gid | user:gid | uid:group ] Without this argument the command will be run as root in the container. # Exit Status The exit code from `docker exec` gives information about why the container failed to exec or why it exited. When `docker exec` exits with a non-zero code, the exit codes follow the `chroot` standard, see below: **_126_** if the **_contained command_** cannot be invoked $ docker exec busybox /etc; echo $? # exec: "/etc": permission denied docker: Error response from daemon: Contained command could not be invoked 126 **_127_** if the **_contained command_** cannot be found $ docker exec busybox foo; echo $? # exec: "foo": executable file not found in $PATH docker: Error response from daemon: Contained command not found or does not exist 127 **_Exit code_** of **_contained command_** otherwise $ docker exec busybox /bin/sh -c 'exit 3' # 3