发表评论
该命令的主要作用就是进入容器,可以查看内部的持续输出,或以交互方式控制容器。
docker attach [OPTIONS] CONTAINER
一般只用指定容器名或容器的 id 即可附着上去,如:
docker attach attach_me
或者:
docker attach 1897ed54a226
运行结果如下图,可以看到已经进入容器内部。
进入容器基本上有三种方法:
使用 ssh 进行登录
使用 nsenter、nsinit 等第三方工具
使用 Docker 本身提供的工具
第一种方法需要在容器内启动 sshd,违反了 Docker 所倡导的一个容器一个进程的原则,同时也存在开销和攻击面增大的问题;第二种方法需要额外学习使用第三方工具。所以最简单的方法还是使用docker attach
命令。
如果直接使用 exit
命令或者按 Ctrl + C,不仅会退出,容器也会停止运行。应该使用 Ctrl + P 命令,然后使用 Ctrl + Q 命令,即可退出容器的虚拟终端,同时容器还在运行。
官方不推荐使用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)