docker-compose logs -f
是一个有用的命令,可以在后台查看容器的日志,并按照它们立即查看新条目。似乎使用最新的稳定版本 V2.1.0 无法再退出这些前台进程control-c:
$ docker-compose logs -f
...
webserver-1 | [Sat Nov 13 12:10:33.814463 2021] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
^C^C^C
Run Code Online (Sandbox Code Playgroud)
它只打印^C
而不终止进程。即使多次按下它(通常会立即终止进程),也不会发生任何事情。唯一有效的是control-\,它会打印一个巨大的堆栈跟踪:
^C^C^C^\SIGQUIT: quit
PC=0x7b950 m=0 sigcode=128
goroutine 0 [idle]:
runtime.futex(0x1491b10, 0x80, 0x0, 0x0, 0x0, 0x0, 0x56a08, 0x18473b0, 0x1a9d8, 0x4c394, ...)
runtime/sys_linux_arm.s:443 +0x1c
runtime.futexsleep(0x1491b10, 0x0, 0xffffffff, 0xffffffff)
runtime/os_linux.go:44 +0x184
runtime.notesleep(0x1491b10)
runtime/lock_futex.go:159 +0xac
runtime.mPark()
runtime/proc.go:1340 +0x20
runtime.stopm()
runtime/proc.go:2301 +0x78
runtime.findrunnable(0x1846000, 0x0)
runtime/proc.go:2960 +0x84c
runtime.schedule()
runtime/proc.go:3169 +0x2bc
runtime.park_m(0x18821c0)
runtime/proc.go:3318 …
Run Code Online (Sandbox Code Playgroud)