# docker attach 命令 该命令的主要作用就是进入容器,可以查看内部的持续输出,或以交互方式控制容器。 ## 语法 ``` docker attach [OPTIONS] CONTAINER ``` ## 实例 一般只用指定容器名或容器的 id 即可附着上去,如: ``` docker attach attach_me ``` 或者: ``` docker attach 1897ed54a226 ``` 运行结果如下图,可以看到已经进入容器内部。 ![](https://box.kancloud.cn/894828cf7cdf213a272da5ea876ed88c_1299x140.png) ## 注意 ### 1、关于进入容器 进入容器基本上有三种方法: * 使用 ssh 进行登录 * 使用 nsenter、nsinit 等第三方工具 * 使用 Docker 本身提供的工具 第一种方法需要在容器内启动 sshd,违反了 Docker 所倡导的一个容器一个进程的原则,同时也存在开销和攻击面增大的问题;第二种方法需要额外学习使用第三方工具。所以最简单的方法还是使用`docker attach`命令。 ### 2、关于退出容器 如果直接使用 `exit` 命令或者按 Ctrl + C,不仅会退出,容器也会停止运行。应该使用 Ctrl + P 命令,然后使用 Ctrl + Q 命令,即可退出容器的虚拟终端,同时容器还在运行。 ### 3、关于 attach 和 exec 官方不推荐使用`docker attach`命令进入开启了交互模式的容器,及使用了 -t 参数的容器。docker attach 的主要功能是查看信息,容器内布操作则有更加方便的`docker exec`命令。 ## 帮助 ``` $ docker attach --help Usage: docker attach [OPTIONS] CONTAINER Attach local standard input, output, and error streams to a running container Options: --detach-keys string Override the key sequence for detaching a container --no-stdin Do not attach STDIN --sig-proxy Proxy all received signals to the process (default true) ```