github.com/brahmaroutu/docker@v1.2.1-0.20160809185609-eb28dde01f16/docs/reference/commandline/attach.md (about) 1 <!--[metadata]> 2 +++ 3 title = "attach" 4 description = "The attach command description and usage" 5 keywords = ["attach, running, container"] 6 [menu.main] 7 parent = "smn_cli" 8 +++ 9 <![end-metadata]--> 10 11 # attach 12 13 ```markdown 14 Usage: docker attach [OPTIONS] CONTAINER 15 16 Attach to a running container 17 18 Options: 19 --detach-keys string Override the key sequence for detaching a container 20 --help Print usage 21 --no-stdin Do not attach STDIN 22 --sig-proxy Proxy all received signals to the process (default true) 23 ``` 24 25 The `docker attach` command allows you to attach to a running container using 26 the container's ID or name, either to view its ongoing output or to control it 27 interactively. You can attach to the same contained process multiple times 28 simultaneously, screen sharing style, or quickly view the progress of your 29 detached process. 30 31 To stop a container, use `CTRL-c`. This key sequence sends `SIGKILL` to the 32 container. If `--sig-proxy` is true (the default),`CTRL-c` sends a `SIGINT` to 33 the container. You can detach from a container and leave it running using the 34 `CTRL-p CTRL-q` key sequence. 35 36 > **Note:** 37 > A process running as PID 1 inside a container is treated specially by 38 > Linux: it ignores any signal with the default action. So, the process 39 > will not terminate on `SIGINT` or `SIGTERM` unless it is coded to do 40 > so. 41 42 It is forbidden to redirect the standard input of a `docker attach` command 43 while attaching to a tty-enabled container (i.e.: launched with `-t`). 44 45 While a client is connected to container's stdio using `docker attach`, Docker 46 uses a ~1MB memory buffer to maximize the throughput of the application. If 47 this buffer is filled, the speed of the API connection will start to have an 48 effect on the process output writing speed. This is similar to other 49 applications like SSH. Because of this, it is not recommended to run 50 performance critical applications that generate a lot of output in the 51 foreground over a slow client connection. Instead, users should use the 52 `docker logs` command to get access to the logs. 53 54 55 ## Override the detach sequence 56 57 If you want, you can configure an override the Docker key sequence for detach. 58 This is useful if the Docker default sequence conflicts with key sequence you 59 use for other applications. There are two ways to define your own detach key 60 sequence, as a per-container override or as a configuration property on your 61 entire configuration. 62 63 To override the sequence for an individual container, use the 64 `--detach-keys="<sequence>"` flag with the `docker attach` command. The format of 65 the `<sequence>` is either a letter [a-Z], or the `ctrl-` combined with any of 66 the following: 67 68 * `a-z` (a single lowercase alpha character ) 69 * `@` (at sign) 70 * `[` (left bracket) 71 * `\\` (two backward slashes) 72 * `_` (underscore) 73 * `^` (caret) 74 75 These `a`, `ctrl-a`, `X`, or `ctrl-\\` values are all examples of valid key 76 sequences. To configure a different configuration default key sequence for all 77 containers, see [**Configuration file** section](cli.md#configuration-files). 78 79 #### Examples 80 81 $ docker run -d --name topdemo ubuntu /usr/bin/top -b 82 $ docker attach topdemo 83 top - 02:05:52 up 3:05, 0 users, load average: 0.01, 0.02, 0.05 84 Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie 85 Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 86 Mem: 373572k total, 355560k used, 18012k free, 27872k buffers 87 Swap: 786428k total, 0k used, 786428k free, 221740k cached 88 89 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 90 1 root 20 0 17200 1116 912 R 0 0.3 0:00.03 top 91 92 top - 02:05:55 up 3:05, 0 users, load average: 0.01, 0.02, 0.05 93 Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie 94 Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 95 Mem: 373572k total, 355244k used, 18328k free, 27872k buffers 96 Swap: 786428k total, 0k used, 786428k free, 221776k cached 97 98 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 99 1 root 20 0 17208 1144 932 R 0 0.3 0:00.03 top 100 101 102 top - 02:05:58 up 3:06, 0 users, load average: 0.01, 0.02, 0.05 103 Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie 104 Cpu(s): 0.2%us, 0.3%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 105 Mem: 373572k total, 355780k used, 17792k free, 27880k buffers 106 Swap: 786428k total, 0k used, 786428k free, 221776k cached 107 108 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 109 1 root 20 0 17208 1144 932 R 0 0.3 0:00.03 top 110 ^C$ 111 $ echo $? 112 0 113 $ docker ps -a | grep topdemo 114 7998ac8581f9 ubuntu:14.04 "/usr/bin/top -b" 38 seconds ago Exited (0) 21 seconds ago topdemo 115 116 And in this second example, you can see the exit code returned by the `bash` 117 process is returned by the `docker attach` command to its caller too: 118 119 $ docker run --name test -d -it debian 120 275c44472aebd77c926d4527885bb09f2f6db21d878c75f0a1c212c03d3bcfab 121 $ docker attach test 122 $$ exit 13 123 exit 124 $ echo $? 125 13 126 $ docker ps -a | grep test 127 275c44472aeb debian:7 "/bin/bash" 26 seconds ago Exited (13) 17 seconds ago test