云游屋
扫描关注云游屋

云游屋

docker attach 命令

云游屋2021-09-06Docker命令 875

该命令的主要作用就是进入容器,可以查看内部的持续输出,或以交互方式控制容器。

语法

docker attach [OPTIONS] CONTAINER

实例

一般只用指定容器名或容器的 id 即可附着上去,如:

docker attach attach_me

或者:

docker attach 1897ed54a226

运行结果如下图,可以看到已经进入容器内部。

注意

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)


发表评论