我可以附加到一个docker进程,但Ctrl+C不能从它分离。退出基本上停止了进程。

让流程运行,偶尔附加到流程上进行一些更改,然后再分离的推荐工作流是什么?


当前回答

我用的是Mac电脑,出于某种原因,Ctrl-p Ctrl-q只有在按住Shift的时候才会起作用

其他回答

对于任何遇到与我相同问题的人(不能在不杀死容器的情况下分离,即使在设置分离键时)......

当使用docker-compose up -d启动容器时

而不是使用docker附加{容器名}来查看尾矿日志....

Ctrl+C在不杀死容器的情况下杀死日志尾部

{服务名}是在docker-compose中列出的服务。yml文件. .(例如,当容器名称=elk_logstash_1 ->服务名称=logstash

我用的是Mac电脑,出于某种原因,Ctrl-p Ctrl-q只有在按住Shift的时候才会起作用

如果——sig-proxy=false方法不起作用,那么您还可以使用以下命令更改转义序列:

docker attach --detach-keys="<sequence>" <container_name or id> 

例如,我想使用“ctrl-c”分离容器,然后我可以使用以下方法附加容器:

docker attach --detach-keys="ctrl-c" <container_name or id>

的格式可以是字母[a- z],也可以是ctrl-和以下任意组合:

a-z(一个小写字母) @(@号) [(左括号) \(两个反斜杠) _(下划线) ^(脱字符号)

有关更多信息,请参见->覆盖分离序列

当没有其他工作,打开一个新的终端然后:

$ ps aux | grep attach
username  <pid_here>    ..............  0:00 docker attach <CONTAINER_HASH_HERE>
username  <another_pid> ..............  0:00 grep --color=auto attach
$ kill -9 <pid_here>

还可以查看——sig-proxy选项:

docker attach --sig-proxy=false 304f5db405ec

然后使用Ctrl+C分离