forked from docker/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker_exec.yaml
86 lines (66 loc) · 2.33 KB
/
docker_exec.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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
default_value: '[]'
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: <name|uid>[:<group|gid>])'
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
```