首页/云/云与容器速查/docker attach 接入容器主进程
本包目录(340 条)
云基础概念44 条计算与存储56 条网络与安全组33 条
容器与 Docker106 条
Kubernetes68 条容器排障33 条

docker attach 接入容器主进程

把当前终端接到容器 PID 1 的标准输入输出:能观察输出、发送输入;但 Ctrl+C 会把信号转发给主进程,操作不当直接停服。进容器开 shell 应首选 exec。

云与容器速查云更新于 2026-10-12
语法docker attach [--detach-keys=ctrl-a,d] [--sig-proxy=false] 容器
与 exec 区别attach 连的是现有主进程 I/O;exec 在容器内另起新进程
安全分离默认 Ctrl+P Ctrl+Q;可自定义 --detach-keys
信号风险--sig-proxy 默认开启:Ctrl+C 转发 SIGINT 给 PID 1

使用示例

使用示例
docker attach --detach-keys="ctrl-a,d" myapp
# 分离:Ctrl-A 再按 d;禁转发:加 --sig-proxy=false
启动时没加 -i(或 stdin 已关闭)的容器,attach 后敲不了字;只想看输出用 docker logs -f 更安全。

易错点

  • attach 后按 Ctrl+C 『退出』:把 SIGINT 转发给主进程,服务被打停
  • 想开 shell 却 attach:命令敲不进应用 stdout,误以为容器卡死

数据来源与参考

  • Docker Docs:docker attach

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌