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