github.com/kim0/docker@v0.6.2-0.20161130212042-4addda3f07e7/docs/reference/commandline/attach.md (about)

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